Move files around
Refactored into multiple files so we can work in parallel