MAAAAAJOR refactor.
Merge branch 'take-2'