Refactored Checkout