support reading data from a local file