First pass at CSV parsing