Rename "self"
Use error instead of string in PathResult