move checking modifiers out of parser
merge