Added a Descend method for path to properly deal with trailing slashes
Use descend method instead of custom string manipulation for path