Better CSV parsing