turn on development caching
create self.latest in product model
implement fragment caching