Refactor shopping_basket and tidy up comments