got relationship logic working; refine if have time