expanded on haskell knowledge