Generator and Parser changed for extending purpose