private boolean requirementsMetSpend(){
		
		if(requireApSpentTree > DDOCharacter.getTreePointsSpent(prestige)) //make sure enough points are spent
			return false;
		
		if(requireClassLevel > DDOCharacter.hasClassLevels(prestige)) //x class levels required for most enhancements
			return false;
		
		
		if(requireAllOf.get(0).equals(0)) //no special requirement
			return true;
			
		List<Enhancement> el = DDOCharacter.getEnhancements(prestige, requireAllOf); //fetch the pre req enhancements
		
		for (Enhancement e : el){
			if(e.enhancementMaxRank == 1 && e.tiersTaken == 1 && this.requireAllOf.size() == 1)
				return true; //pre req satisfied, max rank taken, special case where there only is one pre req with max rank 1
			if(e.tiersTaken <= this.tiersTaken)
				return false; //multiple rank case, can not take more ranks then the pre req has
		}

		return true; //if we made it through the checks its ok
	};