public void play() {
		
		// prepare order list.
		MyCart myCart = new MyCart();
		createOrderList(myCart);
				
		// Set shipping fee
		BigDecimal shippingFee = new BigDecimal("25.00");
				
		// Set tax
		BigDecimal tax = new BigDecimal("0.07");

		// prepare claculator
		ShopCartCalculatorCN cal = new ShopCartCalculatorCN();
		cal.init(createVoucherListCN(), createBundleDiscountList(), shippingFee, tax);
				
				
		// calculator starts
		System.out.println("******************* Welcome to China WebShop *******************\n");
		
		myCart.printOrderList();
		System.out.println("________________________________________________________________\n");
		
		String format = "%-12s = $%-6s";
		BigDecimal subtotal = cal.getSubTotal(myCart);
		System.out.println(String.format(format, "SubTotal", subtotal.toString()));
		if (cal.freeShipping(subtotal))
			System.out.println(String.format(format, "Shipping Fee", shippingFee.toString()));
		else System.out.println(String.format(format, "Shipping Fee", new BigDecimal("0.00")));
				
		String vouchersIHave = "voucherCodeCN01";
		BigDecimal groundTotal = cal.getGroundTotal(myCart, vouchersIHave);
		System.out.println(String.format(format, "GroundTotal", groundTotal.toString()));
		
		System.out.println("\n*************************** Thank you ***************************\n\n");
		
	} // end play