@EventHandler(priority=EventPriority.LOW)
	public void playerPunchesSecurityTerminalSign(BlockDamageEvent event) {
	
		// if not a sign, abort
		if (!event.getBlock().getType().equals(Material.WALL_SIGN)) {
			
			return;
			
		}
		
		SecurityTerminal securityTerminal = instance.getSecurityTerminalManager().getSecurityTerminalByLocation(event.getBlock().getLocation());
		
		if (securityTerminal != null) {

			event.getPlayer().sendMessage(ChatColor.DARK_RED + "[MT Factions] " + ChatColor.WHITE + "Security Terminal");
			event.getPlayer().sendMessage(ChatColor.GRAY + "Security Terminal Already Activated");
			
			return;
			
		}
		
		
		Block signBlock = event.getBlock();
		Sign sign = (Sign) signBlock.getState();
		String factionTag;
		
		@SuppressWarnings("static-access")
		BlockFace signBlockFace = instance.wallSignDetector.getWallSignBlockFace(signBlock);
		
		instance.getLogger().info(signBlockFace.toString());
		
		if (!sign.getLine(0).equalsIgnoreCase("[Security]")) {
			
			return;
			
		}
		
		factionTag = sign.getLine(1);
		if (factionTag == null) { factionTag = "n/a"; }
		if (factionTag.equalsIgnoreCase("")) { factionTag = "n/a"; }
		
		if (!signBlock.getRelative(BlockFace.UP).getRelative(signBlockFace).getType().equals(Material.REDSTONE_LAMP_OFF)) {
			
			event.getPlayer().sendMessage(ChatColor.DARK_RED + "[MT Factions] " + ChatColor.WHITE + "Security Terminal");
			event.getPlayer().sendMessage(ChatColor.GRAY + "Invalid Security Terminal Design: Missing Redstone Lamp (" + signBlock.getRelative(BlockFace.UP).getRelative(signBlockFace).getType() + ")");
			
			return;
			
		}
		
		// create security terminal
		event.getPlayer().sendMessage(ChatColor.DARK_RED + "[MT Factions] " + ChatColor.WHITE + "Security Terminal");
		event.getPlayer().sendMessage(ChatColor.GRAY + "Security Terminal Activated");
		event.getPlayer().sendMessage(ChatColor.GRAY + "Make sure to power it!");
		
		securityTerminal = new SecurityTerminal(instance, event.getPlayer().getName(), factionTag, signBlock.getRelative(BlockFace.UP).getRelative(signBlockFace).getLocation(), signBlock.getRelative(BlockFace.UP).getRelative(BlockFace.UP).getLocation(), signBlock.getLocation());
		instance.getSecurityTerminalManager().addSecurityTerminal(securityTerminal);
			
	}