implement data file loading