cart must not be empty!