Building all tools in one file can get ugly quickly (especially with tests now) so it is time to break up the code into separate files.