mapping relationships, dirty but working