Reorganize code, use cabal