I should really start working on this again...