refactor shopping cart views