refactoring relationships (again)