Split the direntry named constructor into two, file/dir
cleaned up path finding, looks much nicer now