Major refactor.
Merge pull request #3 from benbueltmann/feature/bandedo/major-refactor

Major refactor.