updata the shop function