Middle of major refactoring.
9 files changed