use one func. for products