Split code into multiple files due to project size