association implementation