diff --git a/Readme.md b/Readme.md
index 16819e296c014a142bacf87c73ca1fcf4e79ef4c..522d73b14b054269389aa92b4b00ee80d49fe769 100644
--- a/Readme.md
+++ b/Readme.md
@@ -1,3 +1,6 @@
 Compile radvd_adv_count
 
-g++ -Wall server_instance/zabbix_server/compile_to_radvd_adv_count.cpp -o server_instance/zabbix_server/radvd_adv_count
\ No newline at end of file
+g++ -Wall server_instance/zabbix_server/compile_to_radvd_adv_count.cpp -o server_instance/zabbix_server/radvd_adv_count
+mv scripts/* /etc/zabbix/scripts/*
+mv sudoers.d/* /etc/sudoers.d/*
+mv zabbix_agent.d/* /etc/zabbix/zabbix_agent.d/*
\ No newline at end of file
diff --git a/gateway_scripts/dhcp-pool-usage-percent.sh b/gateway_scripts/dhcp-pool-usage-percent.sh
deleted file mode 100755
index c60e1d59d086e4eec05ec5906fe01fe82840939b..0000000000000000000000000000000000000000
--- a/gateway_scripts/dhcp-pool-usage-percent.sh
+++ /dev/null
@@ -1,214 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Copyright (C) 2008 Rien Broekstra <rien@rename-it.nl>
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; version 2 dated June,
-# 1991.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-#
-# Munin plugin to measure saturation of DHCP pools.
-#
-# Configuration variables:
-#
-#       conffile     - path to dhcpd's configuration file (default "/etc/dhcp/dhcpd.conf")
-#       leasefile    - path to dhcpd's leases file (default "/var/lib/dhcp/dhcpd.leases")
-#
-# Parameters:
-#
-#       config    (required)
-#
-# Version 1.0, 2-12-2008
-
-use POSIX;
-use Time::Local;
-use strict;
-
-my $CONFFILE = exists $ENV{'conffile'} ? $ENV{'conffile'} : "/etc/dhcp/dhcpd.conf";
-my $LEASEFILE = exists $ENV{'leasefile'} ? $ENV{'leasefile'} : "/var/lib/dhcp/dhcpd.leases";
-
-if ( defined $ARGV[0] and $ARGV[0] eq "autoconf" ) {
-
-}
-elsif ( defined $ARGV[0] and $ARGV[0] eq "config" ) {
-    my (%pools, $start, $label);
-
-    # Print general information
-    print "graph_title DHCP pool usage (in %)\n";
-    print "graph_args --upper-limit 100 -l 0\n";
-    print "graph_vlabel %\n";
-    print "graph_category network\n";
-
-    # Determine the available IP pools
-    %pools = determine_pools();
-    
-    # Print a label for each pool
-    foreach $start (keys %pools) {
-	$label = ip2string($start);
-	$label =~ s/\./\_/g;
-	print "$label.label Pool ".ip2string($start)."\n";
-	print "$label.warning 75\n";
-	print "$label.critical 100\n";
-    }
-}
-else {
-    my (@activeleases, %pools, $start, $end, $size, $free, $label, $lease);
-    
-    # Determine all leased IP addresses 
-    @activeleases = determine_active_leases();
-    
-    # Determine the available IP pools
-    %pools = determine_pools();
-
-    my $noOutput = 0;
-    my $cumUsed = 0;
-    my $cumFree = 0;
-    if ( defined $ARGV[0] and ($ARGV[0] eq "free" or $ARGV[0] eq "used") ) {
-        $noOutput = 1;
-    }
-    # For each pool, count how many leases from that pool are currently active
-    foreach $start (keys %pools) {
-	$size = $pools{$start};
-	$end = $start+$size;
-	$free = $size;
-
-	foreach $lease (@activeleases) {
-	    if ($lease >= $start && $lease <= $end) {
-                $cumUsed++;
-		$free--;
-	    }
-	}
-	$label = ip2string($start);
-	$label =~ s/\./\_/g;
-        if ($noOutput == 0) {
-            print sprintf("%.1f", 100*($size-$free)/$size)."\n";
-        }
-        $cumFree += $free;
-        if ($free == 0) {
-            $cumFree = 0;
-        }
-    }
-    if ( defined $ARGV[0] ) {
-	if ($ARGV[0] eq "free") {
-            print $cumFree."\n";
-        }
-        if ($ARGV[0] eq "used") {
-            print $cumUsed."\n";
-        }
-    }
-}
-
-# Parse dhcpd.conf for range statements.
-#
-# Returns a hash with start IP -> size
-sub determine_pools {
-    my (%pools, @conffile, $line, $start, $end, $size);
-
-    open(CONFFILE, "<${CONFFILE}") || exit -1;
-    @conffile = <CONFFILE>;
-    close (CONFFILE);
-
-    foreach $line (@conffile) {
-	if ($line =~ /range[\s]+([\d]+\.[\d]+\.[\d]+\.[\d]+)[\s]+([\d]+\.[\d]+\.[\d]+\.[\d]+)/) {
-	    $start = string2ip($1);
-	    $end = string2ip($2);
-	    $size = $end - $start;
-	    defined($start) || next;
-	    defined($end) || next;
-	    
-	    $pools{$start} = $size;
-	}
-    }
-    return %pools;
-}
-
-# Very simple parser for dhcpd.leases. This will break very easily if dhcpd decides to 
-# format the file differently. Ideally a simple recursive-descent parser should be used.
-#
-# Returns an array with currently leased IP's
-sub determine_active_leases {
-    my (@leasefile, $startdate, $enddate, $lease, @activeleases, $mytz, $line, %saw);
-
-    open(LEASEFILE, "<${LEASEFILE}") || exit -1;
-    @leasefile = <LEASEFILE>;
-    close (LEASEFILE);
-
-    @activeleases = ();
-
-    # Portable way of converting a GMT date/time string to timestamp is setting TZ to UTC, and then calling mktime()
-    $mytz = $ENV{'TZ'};
-    $ENV{'TZ'} = 'UTC 0';
-    tzset();
-
-    foreach $line (@leasefile) {
-	if ($line =~ /lease ([\d]+\.[\d]+\.[\d]+\.[\d]+)/) {
-	    $lease = string2ip($1);
-	    defined($lease) || next;
-
-	    undef $startdate;
-	    undef $enddate;
-	}
-	elsif ($line =~ /starts \d ([\d]{4})\/([\d]{2})\/([\d]{2}) ([\d]{2}):([\d]{2}):([\d]{2})/) {
-	    $startdate = mktime($6, $5, $4, $3, $2-1, $1-1900, 0, 0);
-	}
-	elsif ($line =~ /ends \d ([\d]{4})\/([\d]{2})\/([\d]{2}) ([\d]{2}):([\d]{2}):([\d]{2})/) {
-	    $enddate = mktime($6, $5, $4, $3, $2-1, $1-1900, 0, 0);
-	    if (defined($enddate) && defined($startdate) && defined($lease)) {
-		if ($startdate < time() && $enddate > time()) {
-		    push (@activeleases, $lease);
-		}
-	    }
-	}
-
-    }
-    
-    # Set TZ back to its original setting
-    if (defined($mytz)) {
-	$ENV{'TZ'} = $mytz;
-    }
-    else {
-	delete $ENV{'TZ'};
-    }
-    tzset();
-
-    # Sort the array, strip doubles, and return
-    return grep(!$saw{$_}++, @activeleases);
-}
-
-#
-# Helper routine to convert an IP address a.b.c.d into an integer
-#
-# Returns an integer representation of an IP address
-sub string2ip {
-    my $string = shift;
-    defined($string) || return undef;
-    if ($string =~ /([\d]+)\.([\d]+)\.([\d]+)\.([\d]+)/) {
-	if ($1 < 0 || $1 > 255 || $2 < 0 || $2 > 255 || $3 < 0 || $3 > 255 || $4 < 0 || $4 > 255) {
-	    return undef;
-	}
-	else {
-	    return $1 << 24 | $2 << 16 | $3 << 8 | $4;
-	}
-    }
-    return undef;
-}
-	    
-#
-# Returns a dotted quad notation of an 
-#
-sub ip2string {
-    my $ip = shift;
-    defined ($ip) || return undef;
-    return sprintf ("%d.%d.%d.%d", ($ip >> 24) & 0xff, ($ip >> 16) & 0xff, ($ip >> 8) & 0xff, $ip & 0xff);
-}
-
diff --git a/gateway_scripts/batman-gateway-mode-enabled.sh b/scripts/batman-gateway-mode-enabled.sh
similarity index 100%
rename from gateway_scripts/batman-gateway-mode-enabled.sh
rename to scripts/batman-gateway-mode-enabled.sh
diff --git a/gateway_scripts/batman-maximum-gateway-metric.sh b/scripts/batman-maximum-gateway-metric.sh
similarity index 100%
rename from gateway_scripts/batman-maximum-gateway-metric.sh
rename to scripts/batman-maximum-gateway-metric.sh
diff --git a/gateway_scripts/batman-visible-gateway-count.sh b/scripts/batman-visible-gateway-count.sh
similarity index 100%
rename from gateway_scripts/batman-visible-gateway-count.sh
rename to scripts/batman-visible-gateway-count.sh
diff --git a/server_instance/zabbix_server/batman_originators.sh b/scripts/batman_originators.sh
old mode 100644
new mode 100755
similarity index 100%
rename from server_instance/zabbix_server/batman_originators.sh
rename to scripts/batman_originators.sh
diff --git a/server_instance/zabbix_server/compile_to_radvd_adv_count.cpp b/scripts/compile_to_radvd_adv_count.cpp
similarity index 100%
rename from server_instance/zabbix_server/compile_to_radvd_adv_count.cpp
rename to scripts/compile_to_radvd_adv_count.cpp
diff --git a/gateway_scripts/conntrack_count.sh b/scripts/conntrack_count.sh
similarity index 100%
rename from gateway_scripts/conntrack_count.sh
rename to scripts/conntrack_count.sh
diff --git a/gateway_scripts/conntrack_max.sh b/scripts/conntrack_max.sh
similarity index 100%
rename from gateway_scripts/conntrack_max.sh
rename to scripts/conntrack_max.sh
diff --git a/gateway_scripts/dhcp_server_running.sh b/scripts/dhcp_server_running.sh
similarity index 100%
rename from gateway_scripts/dhcp_server_running.sh
rename to scripts/dhcp_server_running.sh
diff --git a/gateway_scripts/route-table42-reachable.sh b/scripts/route-table42-reachable.sh
similarity index 100%
rename from gateway_scripts/route-table42-reachable.sh
rename to scripts/route-table42-reachable.sh
diff --git a/gateway_scripts/route-table42-reachable6.sh b/scripts/route-table42-reachable6.sh
similarity index 100%
rename from gateway_scripts/route-table42-reachable6.sh
rename to scripts/route-table42-reachable6.sh
diff --git a/server_instance/externalscripts/batman_originators b/server_instance/externalscripts/batman_originators
deleted file mode 100644
index 9a900065db0c5acadf4c34231f9086fd4a2bf864..0000000000000000000000000000000000000000
--- a/server_instance/externalscripts/batman_originators
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-/usr/bin/sudo /opt/bin/zabbix_server/batman_originators.sh
diff --git a/server_instance/externalscripts/radvd_adv_count b/server_instance/externalscripts/radvd_adv_count
deleted file mode 100644
index 31bf9dd2584a41e731fe3c0e36cf1e80ef6660af..0000000000000000000000000000000000000000
--- a/server_instance/externalscripts/radvd_adv_count
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-/usr/bin/sudo /opt/bin/zabbix_server/radvd_adv_count
diff --git a/sudoers.d/20_zabbix b/sudoers.d/20_zabbix
deleted file mode 100644
index 1e091fb8cee99198e3f7f077d6b87741e817ca49..0000000000000000000000000000000000000000
--- a/sudoers.d/20_zabbix
+++ /dev/null
@@ -1,5 +0,0 @@
-zabbix ALL= NOPASSWD: /opt/bin/zabbix/batman-gateway-mode-enabled.sh
-zabbix ALL= NOPASSWD: /opt/bin/zabbix/batman-maximum-gateway-metric.sh
-zabbix ALL= NOPASSWD: /opt/bin/zabbix/batman-visible-gateway-count.sh
-zabbix ALL= NOPASSWD: /opt/bin/zabbix/route-table42-reachable6.sh
-zabbix ALL= NOPASSWD: /opt/bin/zabbix/route-table42-reachable.sh
diff --git a/sudoers.d/21_zabbix_server b/sudoers.d/21_zabbix_server
deleted file mode 100644
index f6010e5bd7c2d988caf7741296fc65c0914049a5..0000000000000000000000000000000000000000
--- a/sudoers.d/21_zabbix_server
+++ /dev/null
@@ -1,2 +0,0 @@
-zabbix ALL= NOPASSWD:	/opt/bin/zabbix_server/batman_originators.sh
-zabbix ALL= NOPASSWD:	/opt/bin/zabbix_server/radvd_adv_count
diff --git a/sudoers.d/zabbix b/sudoers.d/zabbix
new file mode 100644
index 0000000000000000000000000000000000000000..f86053adb06568eae3a463ce6434af9b2140fe9a
--- /dev/null
+++ b/sudoers.d/zabbix
@@ -0,0 +1,7 @@
+zabbix ALL= NOPASSWD: /etc/zabbix/scripts/batman-gateway-mode-enabled.sh
+zabbix ALL= NOPASSWD: /etc/zabbix/scripts/batman-maximum-gateway-metric.sh
+zabbix ALL= NOPASSWD: /etc/zabbix/scripts/batman-visible-gateway-count.sh
+zabbix ALL= NOPASSWD: /etc/zabbix/scripts/route-table42-reachable6.sh
+zabbix ALL= NOPASSWD: /etc/zabbix/scripts/route-table42-reachable.sh
+zabbix ALL= NOPASSWD: /etc/zabbix/scripts/batman_originators.sh
+zabbix ALL= NOPASSWD: /etc/zabbix/scripts/radvd_adv_count
\ No newline at end of file
diff --git a/zabbix_agentd.d/userparameter.conf b/zabbix_agentd.d/userparameter.conf
new file mode 100644
index 0000000000000000000000000000000000000000..c2f4e0fb3e4b508337bde2b3cf0e7ff2afcb7469
--- /dev/null
+++ b/zabbix_agentd.d/userparameter.conf
@@ -0,0 +1,16 @@
+UserParameter=route-table42-reachable,sudo /etc/zabbix/scripts/route-table42-reachable.sh
+UserParameter=route-table42-reachable6,sudo /etc/zabbix/scripts/route-table42-reachable6.sh
+UserParameter=dhcp.pool.all,dhcpd-pools -c /etc/dhcp/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -L22
+UserParameter=dhcp.pool.max[*],dhcpd-pools -c /etc/dhcp/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -L22|grep -i $1|sed 's/ \+/;/g'|cut -d';' -f2
+UserParameter=dhcp.pool.use[*],dhcpd-pools -c /etc/dhcp/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -L22|grep -i $1|sed 's/ \+/;/g'|cut -d';' -f3
+UserParameter=dhcp.pool.percent[*],dhcpd-pools -c /etc/dhcp/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -L22|grep -i $1|sed 's/ \+/;/g'|cut -d';' -f4
+UserParameter=dhcp.pool.touch[*],dhcpd-pools -c /etc/dhcp/dhcpd.conf -l /var/lib/dhcp/dhcpd.leases -L22|grep -i $1|sed 's/ \+/;/g'|cut -d';' -f5
+UserParameter=dhcp.pool.discovery,/etc/zabbix/scripts/dhcppools.sh
+UserParameter=dhcp_server_running,/etc/zabbix/scripts/dhcp_server_running.sh
+UserParameter=ip_conntrack_count,/etc/zabbix/scripts/conntrack_count.sh
+UserParameter=ip_conntrack_max,/etc/zabbix/scripts/conntrack_max.sh
+UserParameter=batman-gateway-mode-enabled,sudo /etc/zabbix/scripts/batman-gateway-mode-enabled.sh
+UserParameter=batman-maximum-gateway-metric,sudo /etc/zabbix/scripts/batman-maximum-gateway-metric.sh
+UserParameter=batman-visible-gateway-count,sudo /etc/zabbix/scripts/batman-visible-gateway-count.sh
+UserParameter=batman-visible-originators,sudo /etc/zabbix/scripts/batman_originators.sh
+UserParameter=radvd_adv_count,sudo /etc/zabbix/scripts/radvd_adv_count
\ No newline at end of file
diff --git a/zabbix_agentd.d/userparameter_batman.conf b/zabbix_agentd.d/userparameter_batman.conf
deleted file mode 100644
index 8e45cc88e1ca597e02fa156ed1e1c0974b75f293..0000000000000000000000000000000000000000
--- a/zabbix_agentd.d/userparameter_batman.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-UserParameter=batman-gateway-mode-enabled,sudo /opt/bin/zabbix/batman-gateway-mode-enabled.sh
-UserParameter=batman-maximum-gateway-metric,sudo /opt/bin/zabbix/batman-maximum-gateway-metric.sh
-UserParameter=batman-visible-gateway-count,sudo /opt/bin/zabbix/batman-visible-gateway-count.sh
-
diff --git a/zabbix_agentd.d/userparameter_conntrack.conf b/zabbix_agentd.d/userparameter_conntrack.conf
deleted file mode 100644
index 523ed5fa3e45a78e7534ef427d07aa62ac16852f..0000000000000000000000000000000000000000
--- a/zabbix_agentd.d/userparameter_conntrack.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-UserParameter=ip_conntrack_count,/opt/bin/zabbix/conntrack_count.sh
-UserParameter=ip_conntrack_max,/opt/bin/zabbix/conntrack_max.sh
diff --git a/zabbix_agentd.d/userparameter_dhcp.conf b/zabbix_agentd.d/userparameter_dhcp.conf
deleted file mode 100644
index 63db7ba93cf683adb19a4171a77ec2c4193e1e82..0000000000000000000000000000000000000000
--- a/zabbix_agentd.d/userparameter_dhcp.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-UserParameter=dhcp_lease_free,/opt/bin/zabbix/dhcp-pool-usage-percent.sh free
-UserParameter=dhcp_lease_used,/opt/bin/zabbix/dhcp-pool-usage-percent.sh used
-UserParameter=dhcp_server_running,/opt/bin/zabbix/dhcp_server_running.sh
diff --git a/zabbix_agentd.d/userparameter_route-table42.conf b/zabbix_agentd.d/userparameter_route-table42.conf
deleted file mode 100644
index 82a89882fb67b5666d8054a2c8314ab7b81a21d9..0000000000000000000000000000000000000000
--- a/zabbix_agentd.d/userparameter_route-table42.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-UserParameter=route-table42-reachable,sudo /opt/bin/zabbix/route-table42-reachable.sh
-UserParameter=route-table42-reachable6,sudo /opt/bin/zabbix/route-table42-reachable6.sh