A* pathing, but a little buggy