introduce FlagInterface
non object flag results return scope
rename addFlag to setFlag