update: added some error checking for non-existent file before actually
specifying data types for columns