Change Derivation to class and Nonterminal calling convention