move expr parsing back into gp package