move createReader and createWriter to AbstractCsv