added TODOs
add_file no longer performs any makedirs operations on the os (since the file and thus the directories it is located in is supposed to exist when add_file is called)