arduous and terrible code right now. pathfinding. blows.