private  LinkedList<String> smartTokenize(String oneString){
		// Check if we end on a period. If not Add one
		if(!oneString.endsWith(".")){oneString=oneString+".";}
		
		// Create a regex pattern parse by punctuation;
		Pattern tokenizerPattern = Pattern.compile("([^\\.,;:!]*[\\.,;:!])+?");
		Matcher tokenizerMatcher = tokenizerPattern.matcher(oneString); 

		// Declare String variables.
		String buffer;
		String sentence="";
		int count = 0;
		int length = 0;

		// Create Linked list for putting in strings
		LinkedList<String> answerList = new LinkedList<String>();

		// For every punctuation separated value
		while (tokenizerMatcher.find()){

			// Instantiate Buffer count and length;
			buffer = tokenizerMatcher.group();
			count = sentence.length();
			length = buffer.length();

			// CASE 1: We can easily add buffer to our sentence because we are under the 100 char limit
			if( (count+length) <=100){
				sentence +=buffer;
			}

			// CASE 2: If buffer length is greater than 100...
			else if(length>100){

				// Add tack on however much of buffer is required to get a 100 character string
				int breakpoint = buffer.lastIndexOf(' ',100-sentence.length());
				answerList.addLast(sentence+buffer.subSequence(0,breakpoint));
				length-=breakpoint;

				// If we still have more than 100 characters we cut off the largest chunks until we are under one hundred
				if (length >100){
					while(length>100){
						int newbreakpoint = buffer.lastIndexOf(' ',breakpoint+100);
						answerList.addLast(buffer.substring(breakpoint,newbreakpoint));
						length-=(newbreakpoint-breakpoint);
						breakpoint=newbreakpoint;
					}
				}

				// In either case, we just tack on the remainder, assuming it is not zero
				if (length > 0){
					answerList.addLast(buffer.substring(breakpoint,buffer.length()));
					sentence = "";
				}
			}

			// CASE 3: Buffer is less than 100 but added to sentence is greater
			// We add sentence too list, we remake sentence as buffer
			else{
				answerList.addLast(sentence);
				sentence = buffer;	
			}
		}
		// Last case in the event we missed something
		if (sentence !=  "") { answerList.addLast(sentence); }

		return answerList;
	}