working on convex x-agent