refactored inverse management