add random access for products
merge all the stuff