Initial refactoring, passing tests
Merge pull request #47 from Nominalista/dev

Initial refactoring, passing tests