added a new interface to allow the reading of datafiles to be
implimented into things