Making bette use of inheritance for the parser