cleaning up the morphology branch - loads of clever stuff from dev but at the moment I'm working on getting a minimum viable product