changes to add file_interface as utility function
changes to add file_interface as utility function