add abstract methods to parser