A little more restructuring and refactoring.