shop cart and shipping calculator refactoring