diff --git a/AFSM.cabal b/AFSM.cabal
--- a/AFSM.cabal
+++ b/AFSM.cabal
@@ -1,5 +1,5 @@
 name:                AFSM
-version:             0.1.1.2
+version:             0.1.1.3
 synopsis:            Arrowized functional state machines
 description: Arrowized functional state machines.
              This module is inspired by Yampa and the paper 
@@ -18,7 +18,9 @@
   examples/RPN.hs
 cabal-version:       >=1.10
 library
-  exposed-modules:     Control.AFSM
+  exposed-modules:
+    Control.AFSM
+    Control.AFSM.Event
   -- other-modules:       
   other-extensions:    Arrows, GADTs
   build-depends:       base >= 4.7 && < 5
diff --git a/src/Control/AFSM/Event.hs b/src/Control/AFSM/Event.hs
new file mode 100644
--- /dev/null
+++ b/src/Control/AFSM/Event.hs
@@ -0,0 +1,21 @@
+{-# LANGUAGE GADTs #-}
+
+
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Control.AFSM
+-- Copyright   :  (c) Hanzhong Xu, Meng Meng 2016,
+-- License     :  MIT License
+--
+-- Maintainer  :  hanzh.xu@gmail.com
+-- Stability   :  experimental
+-- Portability :  portable
+-----------------------------------------------------------------------------
+
+module Control.AFSM.Event where
+
+
+
+
+
+data Event a = E a | NoE | ErrE String | ExitE deriving (Show, Eq, Ord)
