cleaned up & commented haskell bot