WIP on major refactor.