starting to refactor.. all of these changes done within an hour or so, refactoring haskell code is so fun.