make polymorphic associations
use association rather than hand-rolled fetch