refactor policy with NullObject pattern