better ik, still iffy against walls, need to pick horizontal surfaces for raytest