basic file structure walk