update project and add file related fns
put this stuff in an io namespace