improved checkout typing