public CypherType predictNew(String text)
	{
		//to determine the type. get the sig and scrawl predictions,
		// then get the highest value of their vector additions.
		
		double [] sigPredict = sigPredict(text);
		double [] scrawlPredict = scrawlPredict(text);
		
		int highestIndex;
		double highestValue;
		
		highestIndex = 0;
		highestValue = sigPredict[0];
		for (int i = 0; i < sigPredict.length;i++)
		{
			if (highestValue < sigPredict[i])
			{
				highestValue = sigPredict[i];
				highestIndex = i;
			}
		}
		
		if (highestValue > 0.8)
		{
			if (highestIndex == 0)
			{
				//plain or mono
				if (scrawlPredict[0] > scrawlPredict[1])
					return CypherType.PLAIN_TEXT;
				else
					return CypherType.MONO_ALPHABETIC;
			}
			else
			{
				return CypherType.POLY_ALPHABETIC;
			}
		}
		else
		{
				
			// see what it thinks based on the scrawl
			
			highestIndex = 0;
			highestValue = scrawlPredict[0];
			for (int i = 0; i < scrawlPredict.length;i++)
			{
				if (highestValue < scrawlPredict[i])
				{
					highestValue = scrawlPredict[i];
					highestIndex = i;
				}
			}
		
			return CypherType.fromInt(highestIndex);
			
			
		}
		
		
	
	}