Rearranged files into proper directories so cabal works. Also finished type natting