refactored ownership