moves require where it belongs
moves the parsing-related methods to a new Parser class