shopping functions working properly