Cleanup, breaking the code over multiple files, introducing the source file (as in upload source file, not code :D) concept and grouping functionality around it