Major refactorings etc. Must become better at small changesets...