refactor for SA checkout