Better checkout, but still messy