initial copy-paste from opencsv