Refactored to reflect polymorphic scopes