Tests passing.
Some more documentation
Refactored into separate files.
Fixed bad logic in tests, added contains
Refactor, start adding parsing