proper pathfinding and moving units