added caching for model associates ...not sure if this is a good idea