split up the code into files