Begining of major refactor.