public static void main(String[] args) {

		// first we set up the power structure that we want to test
		
		WeightedIdentitySet identities = new WeightedIdentitySet();
		
		// a simple TRUSTEE structure ie. 5 equally powerful identities
		
		WeightedIdentity t1 = new WeightedIdentity("T1",10.00);
		WeightedIdentity t2 = new WeightedIdentity("T2",10.00);
		WeightedIdentity t3 = new WeightedIdentity("T3",10.00);
		WeightedIdentity t4 = new WeightedIdentity("T4",10.00);
		WeightedIdentity t5 = new WeightedIdentity("T5",10.00);

		
		
		// now add them to our identity set
		
		identities.IdentitySet.add(t1);
		identities.IdentitySet.add(t2);
		identities.IdentitySet.add(t3);
		identities.IdentitySet.add(t4);
		identities.IdentitySet.add(t5);

		
		// now set up the block chain, genesis block signed by t1
		
		SignedBlock genesis = new SignedBlock(null, t1);
		BlockChain blockChain = new BlockChain(genesis);
		
		blockChain.printChain("BEGIN...");
		

		
		// begins with a confidence score of 10.0
	
		for( int t=0; t<timeDuration; t++ ){
			
			// so what we do here is for each time t, we determine
			// which identity can create the most confidence chain
			
			// used to keep track of best chain in the loop
			BlockChain thisChain = new BlockChain(blockChain);
			double thisConfidenceScore = 0.0;
			
			Iterator IdIter = identities.IdentitySet.iterator();
			  while (IdIter.hasNext()) {
				WeightedIdentity id = (WeightedIdentity) IdIter.next();
				
				// make a copy of the main chain
				BlockChain localChain = new BlockChain(blockChain);
								
				// now add a block to it signed by the id
				SignedBlock newBlock = new SignedBlock(null, id);
				localChain.chain.add(newBlock);
				
				// now measure the Confidence Score
				double localScore = localChain.computeConfidenceScore();
				
				// is it higher than the current tracker?
				if( localScore > thisConfidenceScore ){
					// if so then replace the tracker chain with the local chain
					thisChain = localChain;
					thisConfidenceScore = localScore;
				}
			  }
			  
			  // now the best chain should be in thisChain
			  
			  blockChain = thisChain;
			  
			  // print it
			  
			  blockChain.printChain("t="+t);
			
			
		}
		

	}