refactored policy