heavily revised checkout to make more robust