Added an advanced haskell solution or something