implement has-a relationships