Personally this sound ripe for using Test Driven Development. At the very least I would write a basic test suite, preferably broken down by component. Once you have this test suite in place you can trivially make any changes and *know* they work. This is invaluable. Once you have a test suite in case you can easily redesign the application from scratch because you know *Exactly* what functionality it has to have.