Git was acting up, so this is the svn version of the application, whose changes I couldn't get reliably pushed.