Separated code into cohesive files