A clean up with multiple files and a real haskell build enviorment.