first pass pathfinding, unfinished