implement basic feature of cart, still have to finalize it