handles EBNF +