added AgentType and Component