Simplifed rewrite of most parts
Improved test coverage.
Reached 100% branch coverage
Added .travis.yml and fixed some minor issues