protected void setup() {
		//Initialize the CIR Agent
		initCIRAgent();
		
		/* 
		 * 		SETUP THE CIR AGENT'S CAPABILITITES 
		 * */
		//Setup the Problem Solving Capabilities
		//	Call the problem solver in-order to register it's actions/capabilities
		
		//Setup the Interaction Capability
		
		//Setup the Communication Capability
		this.communication = new Communication(this);
		
		
		//Setup all the Problem Solvers and their Actions/Service with the DF
		//Setup the solve for solution Service
		this.problem_solver = new ProblemSolver(this);
		
		cirSetup();
		
		System.out.println("Ran cirSetup()!");
//-=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=-
		
//		DFAgentDescription dfd = new DFAgentDescription();
//		ServiceDescription sd = new ServiceDescription();
//		ServiceDescription sd1 = new ServiceDescription();
//		
//		sd.setType("solution");
//		sd.setName(getName());
//		sd.setOwnership("CDS-Eng");
//		
//		sd1.setType("pintout");
//		sd1.setName(getName());
//		sd1.setOwnership("CDS-Eng");
//		
//		dfd.setName(getAID());
//		dfd.addServices(sd);
//		dfd.addServices(sd1);
//		
		try {
//			myLogger.log(Logger.INFO, "Trying to register the behaviour with DFD!");
//			DFService.register(this, dfd);
//			myLogger.log(Logger.INFO, "Successful registration!");
//			SolveForSolution SolutionBehaviour = new SolveForSolution(this);
//			TestBehaviour TestingBehaviour = new TestBehaviour(this);
//			addBehaviour(SolutionBehaviour);
//			addBehaviour(TestingBehaviour);
//			myLogger.log(Logger.INFO, "Added behaviour!");
		} catch (Exception e) {
			myLogger.log(Logger.SEVERE, "Agent " + getLocalName() + " - Cannot register with DF", e);
			doDelete();
		}
	}