updated cart functionality, saving and loading