xi input still uncertain, but everything at least functional