Still in middle of major refactor.