Lots of refactoring, cleaned up parsers, created Selection, etc