factored out require_modifiers + bug fix.