more relationship refactor