added csv upload and parsing functionality