Now only reads in data file when needed