lots of file structure updates