some personal haskell assignments