pathfinding utils and classes