Split up code into separate files