haskell implementation

minus read
change namespace name