tidy up the code and organise into more methods

git-svn-id: svn+ssh://organicdesign.co.nz/tools@911 5e2f9ad9-d71a-4c5e-ba50-a8a02cc83e87