1. You give me tarballs like you already did. I look at your changes and integrate them in. You then download the latest tarball to start over. 2. You install git and I teach it to you . Having revision control makes a huge difference when writing software. First it allows for great undo capabilities. Second when trying to merge peoples work you can see how they got to where they are at and can more easily merge. I've settled down on my cleanup for now. The main change I made was getting rid of wild-card imports. Those make it difficult to track down where code came from (and you could break that code without realizing it). I'd like to at some point tackle the global variables but I think for now I'm going to work on my custom level loader.