split the main file into a package and seperate files under the tests directory. Makes it a lot easier to reason about what should be exported and the effects. Also makes it possible to have nice looking Godoc output.