* @param CtimeOfDay the current time of day
	 * @return
	 */
	public String parse(final String toParse, final String CtimeOfDay) {
		debug("start desc parsing", 2);

		int index = 0;

		String input = toParse;
		String output = "";

		String work = input;

		debug(input, 2);
		debug("Length (input): " + input.length(), 2);
		debug("" + input.contains("{"), 2);

		int begin = input.indexOf("{", index); // find the beginning of themarkup
		debug("Begin Markup: " + begin, 2);
		int mid = input.indexOf("?", index);   // find the middle of the markup
		debug("Middle Markup: " + mid, 2);
		int end = input.indexOf("}", index);   // find the end of the markup
		debug("End Markup: " + end, 2);

		// if there is internal markup
		if (begin != -1 && mid != -1 && end != -1) {

			output = input.substring(0, begin); // grab the stuff before the markup

			debug("Current Output: " + output, 2);

			while (input.contains("{")) { // while there is still markup

				debug(input.substring(mid + 1, end));

				String timeOfDay = input.substring(begin + 1, mid);

				debug("Time of Day (?): " + timeOfDay, 2);

				String alt = input.substring(mid + 1, end);

				debug("Time of Day Message: " + alt, 2);

				if (timeOfDay.equals(CtimeOfDay)) {
					output = output + alt;
					debug("Current Output: " + output, 2);
				}

				debug("", 2);

				// subtract up til the end of the first markup to use as the new input
				input = input.substring(end + 1, input.length());

				debug("New Input: " + input, 2);
				debug("Length (new input): " + input.length(), 2);

				index = end;

				debug("" + index, 2);

				begin = input.indexOf("{", index);  // find the beginning of the markup
				debug("Begin Markup: " + begin, 2);
				mid = input.indexOf("?", index);    // find the middle of the markup
				debug("Middle Markup: " + mid, 2);
				end = input.indexOf("}", index);    // find the end of the markup
				debug("End Markup: " + end, 2);

				if (end == -1) { // if there isn't a closing brace
					debug("ERROR: Markup is missing an end bracket at between character " + mid + " and the end of the string");
					output = output + input.substring(mid + 1, input.length());

					debug("Current Output: " + output, 2);

					return output;
				}

			}

			output = output + work;

			debug("Current Output: " + output, 2);

			debug("end desc parsing", 2);

			return output;
		}