half implementation of A* pathing