patch to split out flag eater to new method (which still doesn't eat trailing flags)