checkout now handles empty cart