agent-based solution