updated CSV reader