model fetch w/ attribute cache