added client side functionality with cart CRUD