Added support for variable products