public void execute() {
		 final int selected = table.getSelectedRow();
		 if (selected != -1) {
			 setVisible(false);
			 SwingUtilities.invokeLater(new Runnable() {
				public void run() {
					Bot bot = Application.window.getActiveBot();
					if (bot != null) {
						int scriptIndex = table.getSelectedRow();
						int accIndex = accounts.getSelectedIndex();
						if (scriptIndex > -1) {
							Account account = null;
							if (accIndex > -1) {
								account = AccountManager.getAccounts().get(accIndex);
							}
							Script s;
							try {
								s = scripts.get(scriptIndex).getClazz().asSubclass(Script.class)
										.newInstance();
								bot.pushScript(s, false, account);
							} catch (InstantiationException e) {
								e.printStackTrace();
								BotWindow.error("Error loading script", "Cannot instantiate script - Script has no no-args constructor!");
							} catch (IllegalAccessException e) {
								e.printStackTrace();
								BotWindow.error("Error loading script", "Illegal class access!");
							}
						} else {
							BotWindow.warn("Oops", "Invalid selected script!");
						}
					} else {
						BotWindow.warn("Oops!", "Invalid bot instance!");
					}
				}
			 });
		 } else {
			 BotWindow.warn("Oops!", "Please select a script to execute.");
		 }
	}