First pathfinding a* version