support vendors with custom pricing; add some much needed caching for most of the images