basic functions already existing in Haskell.