clean up and minor refactoring
add proper checkout data handling and reload support
add vat checking