associations pattern implementation