implemented 'file' function