diff --git a/smradiusd.conf.testing b/smradiusd.conf.testing
new file mode 100644
index 0000000000000000000000000000000000000000..496bbdc9519481679d0d8081d4b0c925ffb49958
--- /dev/null
+++ b/smradiusd.conf.testing
@@ -0,0 +1,259 @@
+#
+# Server configuration
+#
+[server]
+
+# User to run this daemon as
+#user=
+#group=
+
+# Filename to store pid of parent process
+pid_file=/tmp/smradiusd.pid
+
+# Uncommenting the below option will prevent awradiusd going into the background
+#background=no
+
+# Preforking configuration
+#
+# min_server		- Minimum servers to keep around
+# min_spare_servers	- Minimum spare servers to keep around ready to 
+# 			  handle requests
+# max_spare_servers	- Maximum spare servers to have around doing nothing
+# max_servers		- Maximum servers alltogether
+# max_requests		- Maximum number of requests each child will serve
+#
+# One may want to use the following as a rough guideline...
+# Small : 2, 2,  4, 10, 1000
+# Medium: 4, 4, 12, 25, 1000
+# Large : 8, 8, 16, 64, 1000
+#
+#min_servers=4
+#min_spare_servers=4
+#max_spare_servers=12
+#max_servers=25
+#max_requests=1000
+
+
+
+# Log level:
+# 0 - Errors only
+# 1 - Warnings and errors
+# 2 - Notices, warnings, errors
+# 3 - Info, notices, warnings, errors
+# 4 - Debugging 
+#log_level=2
+
+# File to log to instead of stdout
+#log_file=/var/log/smradiusd.log
+
+# Things to log in extreme detail
+# modules 	- Log detailed module running information
+#
+# There is no default for this configuration option. Options can be
+# separated by commas. ie. modules
+#
+#log_detail=
+
+# IP to listen on, * for all
+#host=*
+
+# Timeout in communication with clients
+#timeout=120
+
+# cidr_allow/cidr_deny
+# Comma, whitespace or semi-colon separated. Contains a CIDR block to 
+# compare the clients IP to.  If cidr_allow or cidr_deny options are 
+# given, the incoming client must match a cidr_allow and not match a 
+# cidr_deny or the client connection will be closed.
+#cidr_allow=0.0.0.0/0
+#cidr_deny=
+
+
+
+[database]
+#DSN=DBI:SQLite:dbname=sitemanager.sqlite
+DSN=DBI:mysql:database=smradius;host=localhost
+Username=root
+Password=root
+
+
+# What do we do when we have a database connection problem
+# tempfail	- Return temporary failure
+# pass		- Return success
+bypass_mode=tempfail
+
+# How many seconds before we retry a DB connection
+bypass_timeout=5
+
+
+[dictionary]
+load=<<EOT
+dicts/dictionary
+dicts/dictionary.microsoft
+dicts/dictionary.mikrotik
+EOT
+
+
+[authentication]
+
+mechanisms=<<EOT
+mod_auth_pap
+mod_auth_chap
+mod_auth_mschap
+EOT
+
+users=<<EOT
+mod_userdb_sql
+EOT
+
+
+[system]
+plugins=<<EOT
+mod_config_sql
+EOT
+
+
+[features]
+plugins=<<EOT
+mod_feature_capping
+mod_feature_validity
+EOT
+
+
+
+[accounting]
+plugins=<<EOT
+mod_accounting_sql
+EOT
+
+
+
+
+[mod_accounting_sql]
+
+accounting_start_query=<<EOT
+	INSERT INTO @TP@accounting 
+			(
+				Username,
+				ServiceType,
+				FramedProtocol,
+				NASPort,
+				NASPortType,
+				CallingStationID,
+				CalledStationID,
+				NASPortID,
+				AcctSessionID,
+				FramedIPAddress,
+				AcctAuthentic,
+				EventTimestamp,
+				AcctStatusType,
+				NASIdentifier,
+				NASIPAddress,
+				AcctDelayTime
+			)
+		VALUES
+			(
+				%{request.User-Name},
+				%{request.Service-Type},
+				%{request.Framed-Protocol},
+				%{request.NAS-Port},
+				%{request.NAS-Port-Type},
+				%{request.Calling-Station-Id},
+				%{request.Called-Station-Id},
+				%{request.NAS-Port-Id},
+				%{request.Acct-Session-Id},
+				%{request.Framed-IP-Address},
+				%{request.Acct-Authentic},
+				%{request.Timestamp},
+				%{request.Acct-Status-Type},
+				%{request.NAS-Identifier},
+				%{request.NAS-IP-Address},
+				%{request.Acct-Delay-Time}
+			)
+EOT
+
+accounting_update_query=<<EOT
+	UPDATE @TP@accounting
+		SET
+				AcctSessionTime = %{request.Acct-Session-Time},
+				AcctInputOctets = %{request.Acct-Input-Octets},
+				AcctInputGigawords = %{request.Acct-Input-Gigawords},
+				AcctInputPackets = %{request.Acct-Input-Packets},
+				AcctOutputOctets = %{request.Acct-Output-Octets},
+				AcctOutputGigawords = %{request.Acct-Output-Gigawords},
+				AcctOutputPackets = %{request.Acct-Output-Packets},
+				AcctStatusType = %{request.Acct-Status-Type}
+		WHERE
+				UserName = %{request.User-Name}
+				AND AcctSessionID = %{request.Acct-Session-Id}
+				AND NASIPAddress = %{request.NAS-IP-Address}
+EOT
+
+accounting_stop_query=<<EOT
+	UPDATE @TP@accounting
+		SET
+				AcctSessionTime = %{request.Acct-Session-Time},
+				AcctInputOctets = %{request.Acct-Input-Octets},
+				AcctInputGigawords = %{request.Acct-Input-Gigawords},
+				AcctInputPackets = %{request.Acct-Input-Packets},
+				AcctOutputOctets = %{request.Acct-Output-Octets},
+				AcctOutputGigawords = %{request.Acct-Output-Gigawords},
+				AcctOutputPackets = %{request.Acct-Output-Packets},
+				AcctStatusType = %{request.Acct-Status-Type},
+				AcctTerminateCause = %{request.Acct-Terminate-Cause}
+		WHERE
+				UserName = %{request.User-Name}
+				AND AcctSessionID = %{request.Acct-Session-Id}
+				AND NASIPAddress = %{request.NAS-IP-Address}
+EOT
+
+accounting_usage_query=<<EOT
+		SELECT 
+				SUM(AcctInputOctets) AS InputOctets, 
+				SUM(AcctOutputOctets) AS OutputOctets,
+				SUM(AcctInputGigawords) AS InputGigawords,
+				SUM(AcctOutputGigawords) AS OutputGigawords,
+				SUM(AcctSessionTime) AS SessionTime
+		FROM 
+				@TP@accounting 
+		WHERE 
+				Username = %{request.User-Name}
+EOT
+
+
+
+
+
+[mod_userdb_sql]
+
+userdb_find_query=<<EOT
+		SELECT 
+			ID 
+		FROM 
+			@TP@users 
+		WHERE 
+			UserName = %{request.User-Name}
+EOT
+
+userdb_get_group_attributes_query=<<EOT
+		SELECT 
+			group_attributes.Name, group_attributes.Operator, group_attributes.Value
+		FROM 
+			@TP@group_attributes, @TP@users_to_groups 
+		WHERE 
+			users_to_groups.UserID = %{userdb.id}
+			AND group_attributes.GroupID = users_to_groups.GroupID
+EOT
+	
+userdb_get_user_attributes_query=<<EOT
+		SELECT 
+			Name, Operator, Value
+		FROM 
+			@TP@user_attributes 
+		WHERE 
+			UserID = %{userdb.id}
+EOT
+
+
+
+