Finally finished! (well, the main stuff anyway)