refactoring for checkout steps