let's try making this a haskell project