diff --git a/smradiusd b/smradiusd
index ae02aedf03e885e7fa53dd133f3cea657c0f1b62..e365a6f3b768730c18765f0660dc9be5ee820a83 100755
--- a/smradiusd
+++ b/smradiusd
@@ -481,74 +481,16 @@ sub process_request {
 #NAS-IP-Address:      10.254.254.239
 
 
-
-#
-# User Authentication
-#
-
-# Authentication
-#a. SELECT ID, Password FROM Users WHERE Username = %u
-# Optional Items:
-# 	'Disabled' - Indicates the user is disabled
-#
-# Save the query result, so we can use it as macros....  ${user.<column name>}  below...
-
-
-#
-# Authorization: Attribute checks
-#
-
-# User attributes
-#b. SELECT Attribute, OP, Value FROM UserAttributes WHERE UserID = ${user.id}
-
-# Attribute groups
-#c. SELECT Group FROM UsersToGroups WHERE UserID = ${user.id}
-# Save the query result, so we can use it as macros... ${group.<column name>} below...
-
-# Group attributes
-#d. SELECT Attribute, OP, Value FROM GroupAttributes WHERE GroupID = ${group.id}
-# Loop with groups and do the query ...
-
-#
-# Authentication procedure
-#
-
-# On user AUTH ....
-#1. Execute query (a), set query result in 'user' hash
-#	- Check 'disabled' parameter
-#2. Run past plugins - check if we authenticate
-#	- if not reject
-#3. Pull in query (c), loop with groups for query (d)
-#4. Merge in query (b)
-#5. Check attributes that need checking
-#	- reject if fail
-#6. Return attributes that need to be returned
-
-
-# find user
-# get user
-#	- User
-#		- Password
-#			{mech}data
-#		- Data
-#			(additional columns from table)
-#		- Attributes (array)
-#			Attribute,OP,Value
-#	- Group (array)
-#		- Data
-#			(additional columns from table)
-#		- Attributes
-#			Attribute,OP,Value
-# try authenticate
-# check attribs
-
-
 	# Main user hash with everything in
 	my $user;
 
 	#
-	# GRAB CONFIG FIXME
+	# GRAB & PROCESS CONFIG 
 	#
+
+	# Build a list of our attributes in the packet
+	my $configAttributes = {};
+
 	foreach my $module (@{$self->{'plugins'}}) {
 		# Try find config attribute
 		if ($module->{'Config_get'}) {
@@ -556,40 +498,27 @@ sub process_request {
 			# Get result from config module
 			$self->log(LOG_INFO,"[SMRADIUS] FIND: Trying plugin '".$module->{'Name'}."' for incoming connection");
 			my ($configData) = $module->{'Config_get'}($self,$user,$pkt);
-
+			# If we got some config back, process it
 			if ($configData) {
-				# Add what we have received to the user hash
-				$user->{'ConfigData'} = $configData;
-				last;
+				# Loop with attributes we got from the user
+				foreach my $attrName (keys %{$configData}) {
+					# Loop with operators
+					foreach my $attrOp (keys %{$configData->{$attrName}}) {
+						# Grab attribute
+						my $attr = $configData->{$attrName}->{$attrOp};
+						# Process attribute
+						my $res = checkAttributeConfig($self,$user->{'ConfigAttributes'},$attr);
+					}
+				}
 			}
 		}
 	}
 
 
 	#
-	# FIXME USER
+	# START PROCESSING
 	#
 
-	# Build a list of our attributes in the packet
-	my $configAttributes;
-	foreach my $attr ($pkt->attributes) {
-		$configAttributes->{$attr} = $pkt->rawattr($attr);
-	}
-	# Loop with attributes we got from the user
-	foreach my $attribute (@{$user->{'ConfigData'}->{'ConfigAttributes'}}) {
-		# Check attribute against authorization attributes
-		my $res = checkAttributeConfig($self,$configAttributes,$attribute);
-		if ($res == 0) {
-			$self->log(LOG_DEBUG,"[SMRADIUS] Failed checkAttributeConfig(): Do something here");
-			last;
-		}
-	}
-
-	# We don't want to process everyting if something doesn't match
-	#	last if (!$authorized);
-	#}
-
-
 	# UserDB module if we using/need it
 	my $userdb;