code gen coming along switching to grammar