prepating to remove left recursion