split files up and make a whole load of things private