added some internal file structure to the interface