public static void setup()
	{
		Plugin test = Bukkit.getServer().getPluginManager().getPlugin("dynmap");
		if (test == null || !test.isEnabled()) return;

		api = (DynmapAPI)test;

		// make sure DynMap version is new enough to include circular markers
		try
		{
			Class.forName("org.dynmap.markers.CircleMarker");

			// for version 0.35 of DynMap, CircleMarkers had just been introduced and were bugged (center position always 0,0)
			if (api.getDynmapVersion().startsWith("0.35-"))
				throw new ClassNotFoundException();
		}
		catch (ClassNotFoundException ex)
		{
			Config.LogConfig("DynMap is available, but border display is currently disabled: you need DynMap v0.36 or newer.");
			return;
		}
		catch (NullPointerException ex)
		{
			Config.LogConfig("DynMap is present, but an NPE (type 1) was encountered while trying to integrate. Border display disabled.");
			return;
		}

		try
		{
			markApi = api.getMarkerAPI();
			if (markApi == null) return;
		}
		catch (NullPointerException ex)
		{
			Config.LogConfig("DynMap is present, but an NPE (type 2) was encountered while trying to integrate. Border display disabled.");
			return;
		}

		// go ahead and show borders for all worlds
		showAllBorders();

		Config.LogConfig("Successfully hooked into DynMap for the ability to display borders.");
	}