public static String encode(String message, int offset, boolean numbers){
		char[] chars = new char[message.length()];
		for(int x = 0; x < message.length();x++){
			int temp = (int) message.charAt(x);
			
			
			if(numbers){
				if (temp >= CHAR0 && temp <= CHAR9){
	                temp -= CHAR0;
	                temp = (temp + offset)%10;
	                temp += CHAR0;
				}
			}
			
			//A == 65, Z == 90
			if(temp >= ACHAR && temp <= ZCHAR){
                temp -= ACHAR;
                temp = (temp + offset)%26;
                temp += ACHAR;
			}
			//a == 97, z == 122.
			else if(temp >= aCHAR && temp <= zCHAR){
                temp -= aCHAR;
                temp = (temp + offset)%26;
                temp += aCHAR;
			}
            chars[x] = (char) temp;
		}
		String returnString = new String(chars);
		return returnString;
	}