add module header for file
followed the wisdom of ghc

Improve indentation + fix misc errors
more refactoring wisdom from ghc
Just to stop GHC complaining at me
remove main. rotate is WIP
add implementation for rotate