diff --git a/CHANGES b/CHANGES
new file mode 100644
--- /dev/null
+++ b/CHANGES
@@ -0,0 +1,33 @@
+0.5: 12 Dec 2011
+   * First public release. basic pen operation, eraser operation, rectangular selection and file operations are implemented
+
+0.5.1: 16 Dec 2011 
+   * Use of configuration file '.hxournal'. Enable Use X Input menu. Dependency on xournal-parser and xournal-render is restricted to 0.2.0.* only
+   * checking gtk+-2.0 using pkg-config
+
+0.6: 18 Dec 2011 
+   * pdf background support. Annotate PDF menu is activated. preloading pdf background images
+
+0.6.0: 19 Dec 2011 
+   * some bug fixes (temporary yet) related to automatic scrollbar disappearing. Check when new, open, annotate pdf if xournal file is not saved yet. 
+ 
+0.6.1: 25 Dec 2011
+   * undo/redo support, double buffer rendering while scrolling
+
+0.6.2: 15 Jan 2012
+   * layer support
+
+0.6.3: 24 Jan 2012 
+   * refine rendering while selection and scrolling. highlighter is implemented. Resizing selected strokes implemented
+
+0.6.4: 6 Feb 2012
+   * lasso selection, continuous page view. 
+
+0.6.5: 12 Feb 2012
+   * pen button support, pen pressure support, using faster xoj parser 
+
+0.6.6: 28 Feb 2012 
+   * scripting support, zoom in/out implemented. page functions are implemented
+
+0.6.7: ?
+
diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,25 @@
+The following license covers this documentation, and the source code, except
+where otherwise indicated.
+
+Copyright 2011, 2012, Ian-Woo Kim. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+  list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS" AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/Setup.lhs b/Setup.lhs
new file mode 100644
--- /dev/null
+++ b/Setup.lhs
@@ -0,0 +1,9 @@
+#! /usr/bin/env runhaskell
+>
+> import Distribution.Simple
+> import Distribution.PackageDescription
+> 
+> main :: IO ()
+> main = defaultMain
+> -- main = defaultMainWithHooks myConfigHook
+> 
diff --git a/exe/hoodle.hs b/exe/hoodle.hs
new file mode 100644
--- /dev/null
+++ b/exe/hoodle.hs
@@ -0,0 +1,20 @@
+-----------------------------------------------------------------------------
+-- |
+-- Module      : Main
+-- Copyright   : (c) 2011, 2012 Ian-Woo Kim
+--
+-- License     : BSD3
+-- Maintainer  : Ian-Woo Kim <ianwookim@gmail.com>
+-- Stability   : experimental
+-- Portability : GHC
+--
+-----------------------------------------------------------------------------
+
+module Main where
+
+import Hoodle.Script 
+import Hoodle.StartUp
+
+main :: IO () 
+main = hoodleStartMain defaultScriptConfig 
+
diff --git a/hoodle.cabal b/hoodle.cabal
new file mode 100644
--- /dev/null
+++ b/hoodle.cabal
@@ -0,0 +1,47 @@
+Name:		hoodle
+Version:	0.1
+Synopsis:	Executable for hoodle
+Description: 	Hoodle is a pen notetaking program written in haskell. 
+Homepage:       http://ianwookim.org/hoodle
+License: 	BSD3
+License-file:	LICENSE
+Author:		Ian-Woo Kim
+Maintainer: 	Ian-Woo Kim <ianwookim@gmail.com>
+Category:       Application
+Tested-with:    GHC == 7.0
+Build-Type: 	Custom
+Cabal-Version:  >= 1.8
+data-files:     CHANGES
+Source-repository head
+  type: git
+  location: http://www.github.com/wavewave/hoodle
+
+Executable hoodle
+  Main-is: hoodle.hs
+  hs-source-dirs: exe
+  ghc-options: 	-Wall -threaded -funbox-strict-fields -fno-warn-unused-do-bind
+  ghc-prof-options: -caf-all -auto-all
+  Build-Depends: 
+                 base>4, 
+                 cmdargs >= 0.7 && < 0.11, 
+                 hoodle-core >= 0.6.999 && < 0.8, 
+                 hoodle 
+
+Library
+  hs-source-dirs: lib
+  ghc-options: 	-Wall -funbox-strict-fields -fno-warn-unused-do-bind
+  ghc-prof-options: -caf-all -auto-all
+  Build-Depends:   base == 4.*, 
+                   mtl == 2.*,
+                   directory == 1.*,
+                   filepath == 1.*, 
+                   containers == 0.4.*,
+                   cmdargs >= 0.7 && < 0.11,
+                   configurator == 0.2.*,
+                   dyre == 0.8.*, 
+                   hoodle-core >= 0.6.999 && < 0.8
+  Exposed-Modules: 
+                   Hoodle.ProgType
+                   Hoodle.Job
+                   Hoodle.Command 
+                   Hoodle.StartUp
diff --git a/lib/Hoodle/Command.hs b/lib/Hoodle/Command.hs
new file mode 100644
--- /dev/null
+++ b/lib/Hoodle/Command.hs
@@ -0,0 +1,23 @@
+-----------------------------------------------------------------------------
+-- |
+-- Module      : Hoodle.Command 
+-- Copyright   : (c) 2011, 2012 Ian-Woo Kim
+--
+-- License     : BSD3
+-- Maintainer  : Ian-Woo Kim <ianwookim@gmail.com>
+-- Stability   : experimental
+-- Portability : GHC
+--
+-----------------------------------------------------------------------------
+
+module Hoodle.Command where
+
+
+import Hoodle.ProgType
+import Hoodle.Job
+import Hoodle.Script.Hook
+
+commandLineProcess :: Hoodle -> Maybe Hook -> IO ()
+commandLineProcess (Test mfname) mhook = do 
+  startJob mfname mhook
+  
diff --git a/lib/Hoodle/Job.hs b/lib/Hoodle/Job.hs
new file mode 100644
--- /dev/null
+++ b/lib/Hoodle/Job.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE ScopedTypeVariables #-}
+
+-----------------------------------------------------------------------------
+-- |
+-- Module      : Hoodle.Job 
+-- Copyright   : (c) 2011, 2012 Ian-Woo Kim
+--
+-- License     : BSD3
+-- Maintainer  : Ian-Woo Kim <ianwookim@gmail.com>
+-- Stability   : experimental
+-- Portability : GHC
+--
+
+module Hoodle.Job where
+
+import Hoodle.Script.Hook
+
+import Hoodle.GUI
+-- import Hoodle.Builder
+
+
+
+startJob :: Maybe FilePath -> Maybe Hook -> IO () 
+startJob mfname mhook = do 
+  putStrLn "job started"
+  startGUI mfname mhook 
+
+{-
+startTestBuilder :: FilePath -> IO () 
+startTestBuilder fname = do 
+  putStrLn fname
+  xojcontent <- read_xojgz fname 
+  L.writeFile "mytest.xoj" $ builder xojcontent
+-}
diff --git a/lib/Hoodle/ProgType.hs b/lib/Hoodle/ProgType.hs
new file mode 100644
--- /dev/null
+++ b/lib/Hoodle/ProgType.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+
+-----------------------------------------------------------------------------
+-- |
+-- Module      : Hoodle.ProgType 
+-- Copyright   : (c) 2011, 2012 Ian-Woo Kim
+--
+-- License     : BSD3
+-- Maintainer  : Ian-Woo Kim <ianwookim@gmail.com>
+-- Stability   : experimental
+-- Portability : GHC
+--
+
+module Hoodle.ProgType where 
+
+import System.Console.CmdArgs
+
+data Hoodle = Test { xojfile :: Maybe FilePath
+                     }  
+              deriving (Show,Data,Typeable)
+
+test :: Hoodle
+test = Test { xojfile = def &= typ "FILENAME" &= args -- &= argPos 0 &= opt "OPTIONAL" 
+            } &= auto 
+
+
+mode :: Hoodle
+mode = modes [test] 
+
+
diff --git a/lib/Hoodle/StartUp.hs b/lib/Hoodle/StartUp.hs
new file mode 100644
--- /dev/null
+++ b/lib/Hoodle/StartUp.hs
@@ -0,0 +1,53 @@
+{-# LANGUAGE RecordWildCards #-}
+
+-----------------------------------------------------------------------------
+-- |
+-- Module      : Hoodle.StartUp
+-- Copyright   : (c) 2012 Ian-Woo Kim
+--
+-- License     : BSD3
+-- Maintainer  : Ian-Woo Kim <ianwookim@gmail.com>
+-- Stability   : experimental
+-- Portability : GHC
+--
+-----------------------------------------------------------------------------
+
+module Hoodle.StartUp where 
+
+-- from other packages 
+import qualified Config.Dyre as Dyre 
+import           System.Console.CmdArgs
+import           System.FilePath
+import           System.Environment
+-- from hoodle-platform 
+import           Hoodle.Script
+-- from this package
+import           Hoodle.ProgType
+import           Hoodle.Command
+
+-- | 
+hoodleMain :: ScriptConfig -> IO ()
+hoodleMain ScriptConfig {..} = do 
+    case errorMsg of 
+      Nothing -> return () 
+      Just em -> putStrLn $ "Error: " ++ em 
+    maybe (return ()) putStrLn message   
+    param <- cmdArgs mode
+    commandLineProcess param hook
+
+-- | 
+hoodleStartMain :: ScriptConfig -> IO ()
+hoodleStartMain = Dyre.wrapMain $ Dyre.defaultParams 
+  { Dyre.projectName = "start"
+  , Dyre.configDir = Just dirHoodled
+  , Dyre.realMain = hoodleMain 
+  , Dyre.showError = showError 
+  } 
+
+-- | 
+dirHoodled :: IO FilePath 
+dirHoodled = do
+  homedir <- getEnv "HOME"
+  return (homedir </> ".hoodle.d")
+
+
