completed relationships functions (pre-solution refactor)