handle null result of lookup_item
security upgrade
handle empty dataset
shop has_many product_caches