private void doSignCommand(CommandSender sender, Command cmd, String label, String[] args) {
		if(sender instanceof Player) {
			ItemStack item = ((Player) sender).getItemInHand();
			BookMeta meta = null;
			Matcher titleMatcher = null;
			if(item.getType() == Material.WRITTEN_BOOK) {
				meta = (BookMeta) item.getItemMeta();
				titleMatcher = TITLE_REGEX.matcher(meta.getTitle());
			}
			if(meta != null && titleMatcher != null && titleMatcher.matches()) {
				String title = titleMatcher.group(1);
				PetitionData petition = plugin.getPetitionStorage().getPetitionData(title);
				if(petition != null) {
					if(petition.addSignature((Player) sender)) {
						plugin.updateOnlinePlayersInventories();
						sender.sendMessage("§aSuccessfully added your signature to the petition!");
					} else {
						sender.sendMessage("§3You have already signed that petition!");
					}
				} else {
					sender.sendMessage("§4Couldn't find petition (probably has been deleted)");
				}
			} else {
				sender.sendMessage("§4You must have the petition you want to sign in your hand!");
			}
		} else {
			sender.sendMessage("§4Sorry you must be a player to sign petitions");
		}
	}