adding final version of shopping cart with all extra credits