diff --git a/app/ndarray.hs b/app/ndarray.hs
deleted file mode 100644
--- a/app/ndarray.hs
+++ /dev/null
@@ -1,13 +0,0 @@
------------------------------------------------------------
--- |
--- copyright:                   (c) 2016 Tao He
--- license:                     MIT
--- maintainer:                  sighingnow@gmail.com
---
--- Example of how to work with NDArray.
---
-
-import           MXNet.Core.NDArray
-
-main :: IO ()
-main = makeNDArray [2,3,4] >>= getNDArrayShape >>= print
diff --git a/apps/ndarray.hs b/apps/ndarray.hs
new file mode 100644
--- /dev/null
+++ b/apps/ndarray.hs
@@ -0,0 +1,16 @@
+-----------------------------------------------------------
+-- |
+-- copyright:                   (c) 2016-2017 Tao He
+-- license:                     MIT
+-- maintainer:                  sighingnow@gmail.com
+--
+-- Example of how to work with NDArray.
+--
+{-# LANGUAGE OverloadedLists #-}
+
+import           MXNet.Core.Base
+
+main :: IO ()
+main = do
+    arr <- array [2,3,4] [1..(2*3*4)] :: IO (NDArray Float)
+    ndshape arr >>= print
diff --git a/apps/symbol.hs b/apps/symbol.hs
new file mode 100644
--- /dev/null
+++ b/apps/symbol.hs
@@ -0,0 +1,14 @@
+-----------------------------------------------------------
+-- |
+-- copyright:                   (c) 2016-2017 Tao He
+-- license:                     MIT
+-- maintainer:                  sighingnow@gmail.com
+--
+-- Example of how to work with Symbol.
+--
+import           MXNet.Core.Base
+
+main :: IO ()
+main = do
+    var <- variable "abde" :: IO (Symbol Float)
+    getName var >>= putStrLn
diff --git a/mxnet-examples.cabal b/mxnet-examples.cabal
--- a/mxnet-examples.cabal
+++ b/mxnet-examples.cabal
@@ -1,5 +1,5 @@
 name:                       mxnet-examples
-version:                    0.1.0.0
+version:                    0.2.0.0
 synopsis:                   Examples for MXNet in Haskell.
 description:                Examples for MXNet in Haskell.
 homepage:                   http://github.com/sighingnow/mxnet-haskell#readme
@@ -14,8 +14,16 @@
 
 Executable ndarray
     main-is:                ndarray.hs
-    hs-source-dirs:         app
+    hs-source-dirs:         apps
     ghc-options:            -Wall
     default-language:       Haskell2010
     build-depends:          base >= 4.7 && < 5.0
-                          , mxnet >= 0.1
+                          , mxnet >= 0.1.0.1
+
+Executable symbol
+    main-is:                symbol.hs
+    hs-source-dirs:         apps
+    ghc-options:            -Wall
+    default-language:       Haskell2010
+    build-depends:          base >= 4.7 && < 5.0
+                          , mxnet >= 0.1.0.1
