simplify grammar
redo types