updated cart system and fixed a few bugs