add AgentManager class