@Override
    public void run() {
        /*if there is a message store and check it*/
        if (bot.hasMessage()) {
            message = bot.getMessage();
            channel = bot.getChannel();
        }

        if (message.startsWith("~zodiac")) {
            tokenize(true, 7, message);
            month = (String) tokenParameters.nextElement();
            
            for( String sign : zodiac.keySet() ) {
            	if( sign.equalsIgnoreCase(month) ) { //if the first parameter is a zodiac sign
            		Main.bot.sendMessage(channel, zodiac.get(sign));
            		return;
            	}
            }
            
            day   = Integer.parseInt((String) tokenParameters.nextElement());
            
            if(Integer.toString(day).endsWith("1")) {
            	suffix = "st";
            }
            else if(Integer.toString(day).endsWith("2")) {
            	suffix = "nd";
            }
            else if(Integer.toString(day).endsWith("3")) {
            	suffix = "rd";
            }
            else {
            	suffix = "th";
            }
            
            Main.bot.sendMessage(channel, "http://www.gotohoroscope.com/birthday-horoscopes/" + months.get(month) + "-" + day + suffix + ".html");
        }
    }