public static void addFact(Node newFact){
		//make a new clause for the new fact
		String newClause;
		if(newFact != null){
			newClause = makeFact(newFact);
			//System.out.println("Added New Fact " + newClause);
			facts.add(newClause);
		
			//add new clauses when our fact is unified with the given rules for a win
			for(int i = 0; i < rules.size(); i++){
				
				String[][] theta = new String[10][2];
				String ruleClause = rules.get(i);
				
				ruleClause = ruleClause.substring(0, ruleClause.indexOf("&"));
				
				theta = unify(newClause, ruleClause, theta);
				
				if(theta[0][0] == null || !theta[0][0].equals("failure")){
					String unified = applyUnification(newClause, rules.get(i), theta);
					//System.out.println("Adding Clause " + unified);
					clauses.add(unified);
				}
			}
		}
		
	}