diff --git a/opentrafficshaper/plugins/configmanager.pm b/opentrafficshaper/plugins/configmanager.pm
index 32418d0a1605ae0611ce71d6b86f134718513f86..4970b6663dfa7fa80277987429a44866f521c087 100644
--- a/opentrafficshaper/plugins/configmanager.pm
+++ b/opentrafficshaper/plugins/configmanager.pm
@@ -53,7 +53,7 @@ our (@ISA,@EXPORT,@EXPORT_OK);
 	changePool
 	getPools
 	getPool
-	getPoolByIdentifer
+	getPoolByName
 	getPoolTxInterface
 	getPoolRxInterface
 	getPoolTrafficClassID
@@ -73,7 +73,8 @@ our (@ISA,@EXPORT,@EXPORT_OK);
 	changePoolMember
 	getPoolMembers
 	getPoolMember
-	getPoolMembersByIP
+	getPoolMemberByUsernameIP
+	getAllPoolMembersByInterfaceGroupIP
 	getPoolMemberMatchPriority
 	setPoolMemberShaperState
 	unsetPoolMemberShaperState
@@ -127,7 +128,7 @@ use constant {
 # Mandatory pool attributes
 sub POOL_REQUIRED_ATTRIBUTES {
 	qw(
-		Identifier
+		Name
 		InterfaceGroupID
 		ClassID TrafficLimitTx TrafficLimitRx
 		Source
@@ -147,7 +148,8 @@ sub POOL_CHANGE_ATTRIBUTES {
 # Pool persistent attributes
 sub POOL_PERSISTENT_ATTRIBUTES {
 	qw(
-		Identifier
+		ID
+		Name
 		FriendlyName
 		InterfaceGroupID
 		ClassID TrafficLimitTx TrafficLimitRx TrafficLimitTxBurst TrafficLimitRxBurst
@@ -208,7 +210,7 @@ sub LIMIT_REQUIRED_ATTRIBUTES {
 # Override match attributes, one is required
 sub OVERRIDE_MATCH_ATTRIBUTES {
 	qw(
-		PoolIdentifier Username IPAddress
+		PoolName Username IPAddress
 		GroupID
 	)
 }
@@ -217,7 +219,7 @@ sub OVERRIDE_MATCH_ATTRIBUTES {
 sub OVERRIDE_ATTRIBUTES {
 	qw(
 		FriendlyName
-		PoolIdentifier Username IPAddress GroupID
+		PoolName Username IPAddress GroupID
 		ClassID TrafficLimitTx TrafficLimitRx TrafficLimitTxBurst TrafficLimitRxBurst
 		Expires
 		Notes
@@ -245,7 +247,7 @@ sub OVERRIDE_CHANGESET_ATTRIBUTES {
 sub OVERRIDE_PERSISTENT_ATTRIBUTES {
 	qw(
 		FriendlyName
-		PoolIdentifier Username IPAddress GroupID
+		PoolName Username IPAddress GroupID
 		ClassID TrafficLimitTx TrafficLimitRx TrafficLimitTxBurst TrafficLimitRxBurst
 		Notes
 		Expires Created
@@ -319,7 +321,7 @@ my $interfaceIPMap = {};
 # Parameters:
 # * FriendlyName
 #    - Used for display purposes
-# * Identifier
+# * Name
 #    - Unix timestamp when this entry expires, 0 if never
 # * ClassID
 #    - Class ID
@@ -338,7 +340,7 @@ my $interfaceIPMap = {};
 # * Source
 #    - This is the source of the limit, typically plugin.ModuleName
 my $pools = { };
-my $poolIdentifierMap = { };
+my $poolNameMap = { };
 my $poolIDCounter = 1;
 
 
@@ -380,8 +382,8 @@ my $poolMemberMap = { };
 # OVERRIDES
 #
 # Selection criteria:
-# * PoolIdentifier
-#    - Pool identifier
+# * PoolName
+#    - Pool name
 # * Username
 #    - Users username
 # * IPAddress
@@ -884,7 +886,7 @@ sub _session_stop
 	$interfaceIPMap = { };
 
 	$pools = { };
-	$poolIdentifierMap = { };
+	$poolNameMap = { };
 	$poolIDCounter = 1;
 
 	$poolMembers = { };
@@ -946,7 +948,7 @@ sub _session_tick
 				# There are no members, its safe to remove
 				if (getPoolMembers($pid) == 0) {
 					$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] has expired, removing",
-							$pool->{'Identifier'},
+							$pool->{'Name'},
 							$pid
 					);
 					removePool($pid);
@@ -959,16 +961,15 @@ sub _session_tick
 
 	# Loop through pool change queue
 	while (my ($pid, $pool) = each(%{$poolChangeQueue})) {
-
 		my $shaperState = getPoolShaperState($pool->{'ID'});
 
 		# Pool is newly added
 		if ($pool->{'Status'} == CFGM_NEW) {
 
 			# If the change is not yet live, we should queue it to go live
-			if ($shaperState == SHAPER_NOTLIVE) {
-				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] new and not live, adding to shaper",
-						$pool->{'Identifier'},
+			if ($shaperState & SHAPER_NOTLIVE) {
+				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] new and is not live, adding to shaper",
+						$pool->{'Name'},
 						$pid
 				);
 				$kernel->post('shaper' => 'pool_add' => $pid);
@@ -977,8 +978,13 @@ sub _session_tick
 				$pool->{'Status'} = CFGM_ONLINE;
 				# Remove from queue
 				delete($poolChangeQueue->{$pid});
+
 			} else {
-				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' [%s] has UNKNOWN state (CFGM_NEW && !SHAPER_NOTLIVE)");
+				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' [%s] has UNKNOWN state '%s'",
+						$pool->{'Name'},
+						$pid,
+						$shaperState
+				);
 			}
 
 		# Pool is online but NOTLIVE
@@ -986,16 +992,18 @@ sub _session_tick
 
 			# We've transitioned more than likely from offline, any state to online
 			# We don't care if the shaper is pending removal, we going to force re-adding now
-			if ($shaperState != SHAPER_LIVE) {
-				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] online and not in live state, re-queue as add",
-						$pool->{'Identifier'},
+			if (!($shaperState & SHAPER_LIVE)) {
+				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] online and is not live, re-queue as add",
+						$pool->{'Name'},
 						$pid
 				);
 				$pool->{'Status'} = CFGM_NEW;
+
 			} else {
-				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' [%s] has UNKNOWN state (CFGM_ONLINE && SHAPER_LIVE)",
-						$pool->{'Identifier'},
-						$pid
+				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' [%s] has UNKNOWN state '%s'",
+						$pool->{'Name'},
+						$pid,
+						$shaperState
 				);
 			}
 
@@ -1004,9 +1012,9 @@ sub _session_tick
 		} elsif ($pool->{'Status'} == CFGM_CHANGED) {
 
 			# If the shaper is live we can go ahead
-			if ($shaperState == SHAPER_LIVE) {
+			if ($shaperState & SHAPER_LIVE) {
 				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] has been modified, sending to shaper",
-						$pool->{'Identifier'},
+						$pool->{'Name'},
 						$pid
 				);
 				$kernel->post('shaper' => 'pool_change' => $pid);
@@ -1016,18 +1024,18 @@ sub _session_tick
 				# Remove from queue
 				delete($poolChangeQueue->{$pid});
 
-			} elsif ($shaperState == SHAPER_NOTLIVE) {
-				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] has been modified but not live, re-queue as add",
-						$pool->{'Identifier'},
+			} elsif ($shaperState & SHAPER_NOTLIVE) {
+				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] has been modified and is not live, re-queue as add",
+						$pool->{'Name'},
 						$pid
 				);
 				$pool->{'Status'} = CFGM_NEW;
 
 			} else {
-				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' [%s] has UNKNOWN state (CFGM_CHANGED && !SHAPER_LIVE && ".
-						"!SHAPER_NOTLIVE)",
-						$pool->{'Identifier'},
-						$pid
+				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' [%s] has UNKNOWN state '%s'",
+						$pool->{'Name'},
+						$pid,
+						$shaperState
 				);
 			}
 
@@ -1036,13 +1044,13 @@ sub _session_tick
 		} elsif ($pool->{'Status'} == CFGM_OFFLINE) {
 
 			# If the change is live, but should go offline, queue it
-			if ($shaperState == SHAPER_LIVE) {
+			if ($shaperState & SHAPER_LIVE) {
 
-				if ($now - $pool->{'LastUpdate'} > 30) {
+				if ($now - $pool->{'LastUpdate'} > TIMEOUT_EXPIRE_OFFLINE) {
 					# If we still have pool members, we got to abort
 					if (!getPoolMembers($pid)) {
-						$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] marked offline and stale, removing from shaper",
-								$pool->{'Identifier'},
+						$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] marked offline and expired, removing from shaper",
+								$pool->{'Name'},
 								$pid
 						);
 						$kernel->post('shaper' => 'pool_remove' => $pid);
@@ -1050,7 +1058,7 @@ sub _session_tick
 					} else {
 						$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] marked offline, but still has pool members, ".
 								"aborting remove",
-								$pool->{'Identifier'},
+								$pool->{'Name'},
 								$pid
 						);
 						$pool->{'Status'} = CFGM_ONLINE;
@@ -1065,30 +1073,25 @@ sub _session_tick
 							my $poolMember = $poolMembers->{$pmid};
 							# Only remove ones online
 							if ($poolMember->{'Status'} == CFGM_ONLINE) {
-								$logger->log(LOG_INFO,"[CONFIGMANAGER] Pool '%s' [%s] marked offline and fresh, removing pool ".
-										"member [%s]",
-										$pool->{'Identifier'},
+								$logger->log(LOG_INFO,"[CONFIGMANAGER] Pool '%s' [%s] marked offline and not expired, removing ".
+										"pool member [%s]",
+										$pool->{'Name'},
 										$pid,
 										$pmid
 								);
 								removePoolMember($pmid);
 							}
 						}
-					} else {
-						$logger->log(LOG_INFO,"[CONFIGMANAGER] Pool '%s' [%s] marked offline and fresh, postponing",
-								$pool->{'Identifier'},
-								$pid
-						);
 					}
 				}
 
-			} elsif ($shaperState == SHAPER_NOTLIVE) {
+			} elsif ($shaperState & SHAPER_NOTLIVE) {
 				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' [%s] marked offline and is not live, removing",
-						$pool->{'identifier'},
+						$pool->{'Name'},
 						$pid
 				);
-				# Remove pool from identifier map
-				delete($poolIdentifierMap->{$pool->{'InterfaceGroupID'}}->{$pool->{'Identifier'}});
+				# Remove pool from name map
+				delete($poolNameMap->{$pool->{'InterfaceGroupID'}}->{$pool->{'Name'}});
 				# Remove pool member mapping
 				delete($poolMemberMap->{$pool->{'ID'}});
 				# Remove from queue
@@ -1100,8 +1103,8 @@ sub _session_tick
 			}
 
 		} else {
-			$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' [%s] has UNKNOWN state '%s'",
-					$pool->{'Identifier'},
+			$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' [%s] has UNKNOWN status '%s'",
+					$pool->{'Name'},
 					$pid,
 					$pool->{'Status'}
 			);
@@ -1114,13 +1117,13 @@ sub _session_tick
 		my $pool = $pools->{$poolMember->{'PoolID'}};
 		my $shaperState = getPoolMemberShaperState($poolMember->{'ID'});
 
-		# Pool is newly added
+		# Pool member is newly added
 		if ($poolMember->{'Status'} == CFGM_NEW) {
 
 			# If the change is not yet live, we should queue it to go live
-			if ($shaperState == SHAPER_NOTLIVE) {
-				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] new and not live, adding to shaper",
-						$pool->{'Identifier'},
+			if ($shaperState & SHAPER_NOTLIVE) {
+				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] new and is not live, adding to shaper",
+						$pool->{'Name'},
 						$poolMember->{'IPAddress'},
 						$pmid
 				);
@@ -1130,11 +1133,13 @@ sub _session_tick
 				$poolMember->{'Status'} = CFGM_ONLINE;
 				# Remove from queue
 				delete($poolMemberChangeQueue->{$pmid});
+
 			} else {
-				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] has UNKNOWN state (CFGM_NEW && !SHAPER_NOTLIVE)",
-						$pool->{'Identifier'},
+				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] has UNKNOWN state '%s'",
+						$pool->{'Name'},
 						$poolMember->{'IPAddress'},
-						$pmid
+						$pmid,
+						$shaperState
 				);
 			}
 
@@ -1143,18 +1148,20 @@ sub _session_tick
 
 			# We've transitioned more than likely from offline, any state to online
 			# We don't care if the shaper is pending removal, we going to force re-adding now
-			if ($shaperState != SHAPER_LIVE) {
-				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] online and not in live state, re-queue as add",
-						$pool->{'Identifier'},
+			if (!($shaperState & SHAPER_LIVE)) {
+				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] online and is not live, re-queue as add",
+						$pool->{'Name'},
 						$poolMember->{'IPAddress'},
 						$pmid
 				);
 				$poolMember->{'Status'} = CFGM_NEW;
+
 			} else {
-				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] has UNKNOWN state (CFGM_ONLINE && SHAPER_LIVE)",
-						$pool->{'Identifier'},
+				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] has UNKNOWN state '%s'",
+						$pool->{'Name'},
 						$poolMember->{'IPAddress'},
-						$pmid
+						$pmid,
+						$shaperState
 				);
 			}
 
@@ -1163,9 +1170,9 @@ sub _session_tick
 		} elsif ($poolMember->{'Status'} == CFGM_CHANGED) {
 
 			# If the shaper is live we can go ahead
-			if ($shaperState == SHAPER_LIVE) {
+			if ($shaperState & SHAPER_LIVE) {
 				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] has been modified, sending to shaper",
-						$pool->{'Identifier'},
+						$pool->{'Name'},
 						$poolMember->{'IPAddress'},
 						$pmid
 				);
@@ -1176,20 +1183,21 @@ sub _session_tick
 				# Remove from queue
 				delete($poolMemberChangeQueue->{$pmid});
 
-			} elsif ($shaperState == SHAPER_NOTLIVE) {
-				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] has been modified but not live, re-queue as ".
+			} elsif ($shaperState & SHAPER_NOTLIVE) {
+				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] has been modified and is not live, re-queue as ".
 						"add",
-						$pool->{'Identifier'},
+						$pool->{'Name'},
 						$poolMember->{'IPAddress'},
 						$pmid
 				);
 				$poolMember->{'Status'} = CFGM_NEW;
+
 			} else {
-				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] has UNKNOWN state (CFGM_CHANGED && ".
-						"!SHAPER_LIVE && !SHAPER_NOTLIVE)",
-						$pool->{'Identifier'},
+				$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] has UNKNOWN state '%s'",
+						$pool->{'Name'},
 						$poolMember->{'IPAddress'},
-						$pmid
+						$pmid,
+						$shaperState
 				);
 			}
 
@@ -1198,28 +1206,29 @@ sub _session_tick
 		} elsif ($poolMember->{'Status'} == CFGM_OFFLINE) {
 
 			# If the change is live, but should go offline, queue it
-			if ($shaperState == SHAPER_LIVE) {
+			if ($shaperState & SHAPER_LIVE) {
 
-				if ($now - $poolMember->{'LastUpdate'} > 10) {
-					$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] marked offline and stale, removing from ".
-							"shaper",
-							$pool->{'Identifier'},
+				if ($now - $poolMember->{'LastUpdate'} > TIMEOUT_EXPIRE_OFFLINE) {
+					$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] marked offline and expired, removing ".
+							"from shaper",
+							$pool->{'Name'},
 							$poolMember->{'IPAddress'},
 							$pmid
 					);
 					$kernel->post('shaper' => 'poolmember_remove' => $pmid);
 					setPoolMemberShaperState($poolMember->{'ID'},SHAPER_PENDING);
+
 				} else {
 					$logger->log(LOG_INFO,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] marked offline and fresh, postponing",
-							$pool->{'Identifier'},
+							$pool->{'Name'},
 							$poolMember->{'IPAddress'},
 							$pmid
 					);
 				}
 
-			} elsif ($shaperState == SHAPER_NOTLIVE) {
+			} elsif ($shaperState & SHAPER_NOTLIVE) {
 				$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] marked offline and is not live, removing",
-						$pool->{'Identifier'},
+						$pool->{'Name'},
 						$poolMember->{'IPAddress'},
 						$pmid
 				);
@@ -1236,8 +1245,8 @@ sub _session_tick
 			}
 
 		} else {
-			$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] has UNKNOWN state '%s'",
-					$pool->{'Identifier'},
+			$logger->log(LOG_ERR,"[CONFIGMANAGER] Pool '%s' member '%s' [%s] has UNKNOWN status '%s'",
+					$pool->{'Name'},
 					$poolMember->{'IPAddress'},
 					$pmid,
 					$poolMember->{'Status'}
@@ -1728,46 +1737,46 @@ sub createPool
 
 	my $now = time();
 
-	# Now check if the identifier is valid
-	if (!defined($pool->{'Identifier'} = $poolData->{'Identifier'})) {
-		$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Cannot process pool add as Identifier is invalid");
+	# Now check if the name is valid
+	if (!defined($pool->{'Name'} = $poolData->{'Name'})) {
+		$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Cannot process pool add as Name is invalid");
 		return;
 	}
 	# Check interface group ID is OK
 	if (!defined($pool->{'InterfaceGroupID'} = isInterfaceGroupIDValid($poolData->{'InterfaceGroupID'}))) {
 		$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Cannot process pool add for '%s' as the InterfaceGroupID is invalid",
-				$pool->{'Identifier'}
+				$pool->{'Name'}
 		);
 		return;
 	}
-	# If we already have this identifier added, return it as the pool
-	if (defined(my $pool = $poolIdentifierMap->{$pool->{'InterfaceGroupID'}}->{$pool->{'Identifier'}})) {
+	# If we already have this name added, return it as the pool
+	if (defined(my $pool = $poolNameMap->{$pool->{'InterfaceGroupID'}}->{$pool->{'Name'}})) {
 		return $pool->{'ID'};
 	}
 	# Check class is OK
-	if (!defined($pool->{'ClassID'} = isClassIDValid($poolData->{'ClassID'}))) {
+	if (!defined($pool->{'ClassID'} = isTrafficClassIDValid($poolData->{'ClassID'}))) {
 		$logger->log(LOG_NOTICE,"[CONFIGMANAGER] Cannot process pool add for '%s' as the ClassID is invalid",
-				$pool->{'Identifier'}
+				$pool->{'Name'}
 		);
 		return;
 	}
 	# Make sure things are not attached to the default pool
 	if (defined($config->{'default_pool'}) && $pool->{'ClassID'} eq $config->{'default_pool'}) {
 		$logger->log(LOG_WARN,"[CONFIGMANAGER] Cannot process pool add for '%s' as the ClassID is the 'default_pool' ClassID",
-				$pool->{'Identifier'}
+				$pool->{'Name'}
 		);
 		return;
 	}
 	# Check traffic limits
 	if (!isNumber($pool->{'TrafficLimitTx'} = $poolData->{'TrafficLimitTx'})) {
 		$logger->log(LOG_WARN,"[CONFIGMANAGER] Cannot process pool add for '%s' as the TrafficLimitTx is invalid",
-				$pool->{'Identifier'}
+				$pool->{'Name'}
 		);
 		return;
 	}
 	if (!isNumber($pool->{'TrafficLimitRx'} = $poolData->{'TrafficLimitRx'})) {
 		$logger->log(LOG_WARN,"[CONFIGMANAGER] Cannot process pool add for '%s' as the TrafficLimitRx is invalid",
-				$pool->{'Identifier'}
+				$pool->{'Name'}
 		);
 		return;
 	}
@@ -1800,8 +1809,8 @@ sub createPool
 	# Add pool
 	$pools->{$pool->{'ID'}} = $pool;
 
-	# Link pool identifier map
-	$poolIdentifierMap->{$pool->{'InterfaceGroupID'}}->{$pool->{'Identifier'}} = $pool;
+	# Link pool name map
+	$poolNameMap->{$pool->{'InterfaceGroupID'}}->{$pool->{'Name'}} = $pool;
 	# Blank our pool member mapping
 	$poolMemberMap->{$pool->{'ID'}} = { };
 
@@ -1914,23 +1923,23 @@ sub getPool
 }
 
 
-# Function to get a pool member by its identifier
-sub getPoolByIdentifer
+# Function to get a pool by its name
+sub getPoolByName
 {
-	my ($interfaceGroupID,$identifier) = @_;
+	my ($interfaceGroupID,$name) = @_;
 
 
 	# Make sure both params are defined or we get warnings
-	if (!defined($interfaceGroupID) || !defined($identifier)) {
+	if (!defined($interfaceGroupID) || !defined($name)) {
 		return;
 	}
 
 	# Maybe it doesn't exist?
-	if (!defined($poolIdentifierMap->{$interfaceGroupID}) || !defined($poolIdentifierMap->{$interfaceGroupID}->{$identifier})) {
+	if (!defined($poolNameMap->{$interfaceGroupID}) || !defined($poolNameMap->{$interfaceGroupID}->{$name})) {
 		return;
 	}
 
-	return dclone($poolIdentifierMap->{$interfaceGroupID}->{$identifier});
+	return dclone($poolNameMap->{$interfaceGroupID}->{$name});
 }
 
 
@@ -1997,9 +2006,9 @@ sub setPoolShaperState
 		return;
 	}
 
-	$pools->{$pid}->{'.shaper_state'} = $state;
+	$pools->{$pid}->{'.shaper_state'} |= $state;
 
-	return $state;
+	return $pools->{$pid}->{'.shaper_state'};
 }
 
 
@@ -2061,7 +2070,7 @@ sub isPoolReady
 		return;
 	}
 
-	return ($pools->{$pid}->{'Status'} == CFGM_ONLINE && $state == SHAPER_LIVE);
+	return ($pools->{$pid}->{'Status'} == CFGM_ONLINE && $state & SHAPER_LIVE);
 }
 
 
@@ -2333,8 +2342,37 @@ sub getPoolMember
 }
 
 
-# Function to return pool member ID's with a certain IP address
-sub getPoolMembersByIP
+# Function to return a list of pool ID's
+sub getPoolMemberByUsernameIP
+{
+	my ($pid,$username,$ipAddress) = @_;
+
+
+	# Check pool exists first
+	if (!isPoolIDValid($pid)) {
+		return;
+	}
+
+	# Check our member map is not undefined
+	if (!defined($poolMemberMap->{$pid})) {
+		return;
+	}
+
+	# Loop with pool members and grab the match, there can only be one as we cannot conflict username and IP
+	foreach my $pmid (keys %{$poolMemberMap->{$pid}}) {
+		my $poolMember = $poolMemberMap->{$pid}->{$pmid};
+
+		if ($poolMember->{'Username'} eq $username && $poolMember->{'IPAddress'} eq $ipAddress) {
+			return $pmid;
+		}
+	}
+
+	return;
+}
+
+
+# Function to return pool member ID's with a certain IP address using an interface group
+sub getAllPoolMembersByInterfaceGroupIP
 {
 	my ($interfaceGroupID,$ipAddress) = @_;
 
@@ -2378,7 +2416,7 @@ sub isPoolMemberReady
 		return;
 	}
 
-	return ($poolMembers->{$pmid}->{'Status'} == CFGM_ONLINE && getPoolMemberShaperState($pmid) == SHAPER_LIVE);
+	return ($poolMembers->{$pmid}->{'Status'} == CFGM_ONLINE && getPoolMemberShaperState($pmid) & SHAPER_LIVE);
 }
 
 
@@ -2426,9 +2464,9 @@ sub setPoolMemberShaperState
 		return;
 	}
 
-	$poolMembers->{$pmid}->{'.shaper_state'} = $state;
+	$poolMembers->{$pmid}->{'.shaper_state'} |= $state;
 
-	return $state;
+	return $poolMembers->{$pmid}->{'.shaper_state'};
 }
 
 
@@ -2529,10 +2567,10 @@ sub createLimit
 		return;
 	}
 
-	my $poolIdentifier = $limitData->{'Username'};
+	my $poolName = $limitData->{'Username'};
 	my $poolData = {
 		'FriendlyName' => $limitData->{'IPAddress'},
-		'Identifier' => $poolIdentifier,
+		'Name' => $poolName,
 		'InterfaceGroupID' => $limitData->{'InterfaceGroupID'},
 		'ClassID' => $limitData->{'ClassID'},
 		'TrafficLimitTx' => $limitData->{'TrafficLimitTx'},
@@ -2671,7 +2709,7 @@ sub removeOverride
 			delete($pool->{'.applied_overrides'}->{$override->{'ID'}});
 
 			# If the pool is online and live, trigger a change
-			if ($pool->{'Status'} == CFGM_ONLINE && getPoolShaperState($pid) == SHAPER_LIVE) {
+			if ($pool->{'Status'} == CFGM_ONLINE && getPoolShaperState($pid) & SHAPER_LIVE) {
 				$poolChangeQueue->{$pool->{'ID'}} = $pool;
 				$pool->{'Status'} = CFGM_CHANGED;
 			}
@@ -2846,7 +2884,7 @@ sub _override_resolve
 	while ((my $pid, my $pool) = each(%{$poolHash})) {
 		# Build a candidate from the pool
 		my $candidate = {
-			'PoolIdentifier' => $pool->{'Identifier'},
+			'PoolName' => $pool->{'Name'},
 		};
 
 		# If we only have 1 member in the pool, add its username, IP and group
@@ -2905,7 +2943,7 @@ sub _override_resolve
 				$logger->log(LOG_DEBUG,"[CONFIGMANAGER] Override '%s' [%s] applied to pool '%s' [%s]",
 						$override->{'FriendlyName'},
 						$override->{'ID'},
-						$pool->{'Identifier'},
+						$pool->{'Name'},
 						$pool->{'ID'}
 				);
 
@@ -2919,7 +2957,7 @@ sub _override_resolve
 
 					$logger->log(LOG_DEBUG,"[CONFIGMANAGER] Override '%s' no longer applies to pool '%s' [%s]",
 							$override->{'ID'},
-							$pool->{'Identifier'},
+							$pool->{'Name'},
 							$pool->{'ID'}
 					);
 				}
@@ -2934,7 +2972,7 @@ sub _override_resolve
 		# If there were pool changes, trigger a pool update
 		if (keys %{$poolChanges} > 0) {
 			# If the pool is currently online and live, trigger a change
-			if ($pool->{'Status'} == CFGM_ONLINE && getPoolShaperState($pid) == SHAPER_LIVE) {
+			if ($pool->{'Status'} == CFGM_ONLINE && getPoolShaperState($pid) & SHAPER_LIVE) {
 				$pool->{'Status'} = CFGM_CHANGED;
 				$poolChangeQueue->{$pool->{'ID'}} = $pool;
 			}
diff --git a/opentrafficshaper/plugins/statistics/statistics.pm b/opentrafficshaper/plugins/statistics/statistics.pm
index 23e155094f8cbf287b3b36e78dc7d880665b5e7d..73ab7f5f4b7ad71558b944e898629b67d18ebd12 100644
--- a/opentrafficshaper/plugins/statistics/statistics.pm
+++ b/opentrafficshaper/plugins/statistics/statistics.pm
@@ -943,7 +943,7 @@ sub _getIdentifierFromPID
 		return undef;
 	}
 
-	return sprintf("Pool:%s",$pool->{'Identifier'});
+	return sprintf("Pool:%s",$pool->{'Name'});
 }
 
 
diff --git a/opentrafficshaper/plugins/tc/tc.pm b/opentrafficshaper/plugins/tc/tc.pm
index 21de0ca07b366e33aac9bf82f304a70eed226dea..5f99ea219a1229eda03a0a1326e00cfe0581ea52 100644
--- a/opentrafficshaper/plugins/tc/tc.pm
+++ b/opentrafficshaper/plugins/tc/tc.pm
@@ -35,8 +35,9 @@ use opentrafficshaper::plugins::configmanager qw(
 		removePoolAttribute
 		getPoolTxInterface
 		getPoolRxInterface
-		getPoolShaperState
 		setPoolShaperState
+		unsetPoolShaperState
+		getPoolShaperState
 
 		getEffectivePool
 
@@ -46,6 +47,7 @@ use opentrafficshaper::plugins::configmanager qw(
 		removePoolMemberAttribute
 		getPoolMemberMatchPriority
 		setPoolMemberShaperState
+		unsetPoolMemberShaperState
 		getPoolMemberShaperState
 
 		getTrafficClassPriority
@@ -242,7 +244,7 @@ sub _session_pool_add
 	}
 
 	$logger->log(LOG_INFO,"[TC] Add pool '%s' to interface group '%s' [%s]",
-			$pool->{'Identifier'},
+			$pool->{'Name'},
 			$pool->{'InterfaceGroupID'},
 			$pool->{'ID'}
 	);
@@ -300,6 +302,7 @@ sub _session_pool_add
 	setPoolAttribute($pool->{'ID'},'shaper.live.TrafficLimitRxBurst',$trafficLimitRxBurst);
 
 	# Mark as live
+	unsetPoolShaperState($pool->{'ID'},SHAPER_NOTLIVE|SHAPER_PENDING);
 	setPoolShaperState($pool->{'ID'},SHAPER_LIVE);
 }
 
@@ -320,16 +323,16 @@ sub _session_pool_remove
 	}
 
 	# Make sure its not NOTLIVE
-	if (getPoolShaperState($pid) == SHAPER_NOTLIVE) {
+	if (getPoolShaperState($pid) & SHAPER_NOTLIVE) {
 		$logger->log(LOG_WARN,"[TC] Ignoring remove for pool '%s' [%s]",
-				$pool->{'Identifier'},
+				$pool->{'Name'},
 				$pool->{'ID'}
 		);
 		return;
 	}
 
 	$logger->log(LOG_INFO,"[TC] Removing pool '%s' [%s]",
-			$pool->{'Identifier'},
+			$pool->{'Name'},
 			$pool->{'ID'}
 	);
 
@@ -370,9 +373,6 @@ sub _session_pool_remove
 	# Post changeset
 	$kernel->post("_tc" => "queue" => $changeSet);
 
-	# Mark as not live
-	setPoolShaperState($pool->{'ID'},SHAPER_NOTLIVE);
-
 	# Cleanup attributes
 	removePoolAttribute($pool->{'ID'},'tc.txclass');
 	removePoolAttribute($pool->{'ID'},'tc.rxclass');
@@ -382,6 +382,10 @@ sub _session_pool_remove
 	removePoolAttribute($pool->{'ID'},'shaper.live.TrafficLimitTxBurst');
 	removePoolAttribute($pool->{'ID'},'shaper.live.TrafficLimitRx');
 	removePoolAttribute($pool->{'ID'},'shaper.live.TrafficLimitRxBurst');
+
+	# Mark as not live
+	unsetPoolShaperState($pool->{'ID'},SHAPER_LIVE|SHAPER_PENDING);
+	setPoolShaperState($pool->{'ID'},SHAPER_NOTLIVE);
 }
 
 
@@ -394,7 +398,7 @@ sub _session_pool_change
 	# Grab pool
 	my $pool = getPool($pid);
 
-	$logger->log(LOG_INFO,"[TC] Processing changes for '%s' [%s]",$pool->{'Identifier'},$pool->{'ID'});
+	$logger->log(LOG_INFO,"[TC] Processing changes for '%s' [%s]",$pool->{'Name'},$pool->{'ID'});
 
 	# Grab our effective pool
 	my $effectivePool = getEffectivePool($pool->{'ID'});
@@ -434,7 +438,9 @@ sub _session_pool_change
 	setPoolAttribute($pool->{'ID'},'shaper.live.TrafficLimitTxBurst',$trafficLimitTxBurst);
 	setPoolAttribute($pool->{'ID'},'shaper.live.TrafficLimitRx',$trafficLimitRx);
 	setPoolAttribute($pool->{'ID'},'shaper.live.TrafficLimitRxBurst',$trafficLimitRxBurst);
+
 	# Mark as live
+	unsetPoolShaperState($pool->{'ID'},SHAPER_NOTLIVE|SHAPER_PENDING);
 	setPoolShaperState($pool->{'ID'},SHAPER_LIVE);
 }
 
@@ -638,6 +644,7 @@ sub _session_poolmember_add
 	$kernel->post("_tc" => "queue" => $changeSet);
 
 	# Mark pool member as live
+	unsetPoolMemberShaperState($poolMember->{'ID'},SHAPER_NOTLIVE|SHAPER_PENDING);
 	setPoolMemberShaperState($poolMember->{'ID'},SHAPER_LIVE);
 }
 
@@ -659,12 +666,12 @@ sub _session_poolmember_remove
 	my $pool = getPool($poolMember->{'PoolID'});
 
 	# Make sure its not NOTLIVE
-	if (getPoolMemberShaperState($pmid) == SHAPER_NOTLIVE) {
+	if (getPoolMemberShaperState($pmid) & SHAPER_NOTLIVE) {
 		$logger->log(LOG_WARN,"[TC] Ignoring remove for pool member '%s' with IP '%s' [%s] from pool '%s'",
 				$poolMember->{'Username'},
 				$poolMember->{'IPAddress'},
 				$poolMember->{'ID'},
-				$pool->{'Identifier'}
+				$pool->{'Name'}
 		);
 		return;
 	}
@@ -673,7 +680,7 @@ sub _session_poolmember_remove
 			$poolMember->{'Username'},
 			$poolMember->{'IPAddress'},
 			$poolMember->{'ID'},
-			$pool->{'Identifier'}
+			$pool->{'Name'}
 	);
 
 	# Grab our interfaces
@@ -713,12 +720,13 @@ sub _session_poolmember_remove
 	# Post changeset
 	$kernel->post("_tc" => "queue" => $changeSet);
 
-	# Mark as not live
-	setPoolMemberShaperState($poolMember->{'ID'},SHAPER_NOTLIVE);
-
 	# Cleanup attributes
 	removePoolMemberAttribute($poolMember->{'ID'},'tc.txfilter');
 	removePoolMemberAttribute($poolMember->{'ID'},'tc.rxfilter');
+
+	# Mark as not live
+	unsetPoolMemberShaperState($poolMember->{'ID'},SHAPER_LIVE|SHAPER_PENDING);
+	setPoolMemberShaperState($poolMember->{'ID'},SHAPER_NOTLIVE);
 }
 
 
diff --git a/opentrafficshaper/plugins/webserver/pages/limits.pm b/opentrafficshaper/plugins/webserver/pages/limits.pm
index 4f3afc05bde05b8d78b7b4cad6bb1f1929f876f3..140baa6ee5d42c83a20d3212ce955d42341c7b71 100644
--- a/opentrafficshaper/plugins/webserver/pages/limits.pm
+++ b/opentrafficshaper/plugins/webserver/pages/limits.pm
@@ -52,13 +52,13 @@ use opentrafficshaper::utils qw(
 use opentrafficshaper::plugins::configmanager qw(
 	getPools
 	getPool
-	getPoolByIdentifer
+	getPoolByName
 	getPoolShaperState
 	isPoolReady
 
 	getPoolMembers
 	getPoolMember
-	getPoolMembersByIP
+	getAllPoolMembersByInterfaceGroupIP
 	getPoolMemberShaperState
 	isPoolMemberReady
 
@@ -144,7 +144,7 @@ sub pool_list
 				<tr>
 					<th></th>
 					<th>Friendly Name</th>
-					<th>Identifier</th>
+					<th>Name</th>
 					<th>Expires</th>
 					<th></th>
 					<th>Class</th>
@@ -180,10 +180,10 @@ EOF
 
 
 		my $friendlyName = (defined($pool->{'FriendlyName'}) && $pool->{'FriendlyName'} ne "") ? $pool->{'FriendlyName'} :
-				$pool->{'Identifier'};
+				$pool->{'Name'};
 		my $friendlyNameEncoded = encode_entities($friendlyName);
 
-		my $identifierEncoded = encode_entities($pool->{'Identifier'});
+		my $nameEncoded = encode_entities($pool->{'Name'});
 
 		my $expiresStr = ($pool->{'Expires'} > 0) ? DateTime->from_epoch( epoch => $pool->{'Expires'} )->iso8601() : '-never-';
 
@@ -191,7 +191,7 @@ EOF
 
 		# Display relevant icons depending on pool status
 		my $icons = "";
-		if (getPoolShaperState($pool->{'ID'}) == SHAPER_NOTLIVE || $pool->{'Status'} == CFGM_CHANGED) {
+		if (getPoolShaperState($pool->{'ID'}) & SHAPER_NOTLIVE || $pool->{'Status'} == CFGM_CHANGED) {
 			$icons .= '<span class="glyphicon glyphicon-time" />';
 		}
 		if ($pool->{'Status'} == CFGM_NEW) {
@@ -212,7 +212,7 @@ EOF
 				<tr>
 					<td>$icons</td>
 					<td>$friendlyNameEncoded</td>
-					<td>$identifierEncoded</td>
+					<td>$nameEncoded</td>
 					<td>$expiresStr</td>
 					<td><span class="glyphicon glyphicon-arrow-right" /></td>
 					<td>$classStr</td>
@@ -267,7 +267,7 @@ sub pool_addedit
 	# Items for our form...
 	my @formElements = qw(
 		FriendlyName
-		Identifier
+		Name
 		InterfaceGroupID
 		ClassID
 		TrafficLimitTx TrafficLimitTxBurst
@@ -356,16 +356,16 @@ sub pool_addedit
 		my $friendlyName = $formData->{'FriendlyName'};
 
 		# Check POST data
-		my $identifier;
-		if (!defined($identifier = isUsername($formData->{'Identifier'}))) {
-			push(@errors,"Identifier is not valid");
+		my $name;
+		if (!defined($name = isUsername($formData->{'Name'}))) {
+			push(@errors,"Name is not valid");
 		}
 		my $interfaceGroupID;
 		if (!defined($interfaceGroupID = isInterfaceGroupIDValid($formData->{'InterfaceGroupID'}))) {
 			push(@errors,"Interface group is not valid");
 		}
-		if ($formType ne "Edit" && getPoolByIdentifer($interfaceGroupID,$identifier)) {
-			push(@errors,"A pool with the same identifier already exists");
+		if ($formType ne "Edit" && getPoolByName($interfaceGroupID,$name)) {
+			push(@errors,"A pool with the same name already exists");
 		}
 		my $classID;
 		if (!defined($classID = isTrafficClassIDValid($formData->{'ClassID'}))) {
@@ -427,7 +427,7 @@ sub pool_addedit
 			# Build pool details
 			my $poolData = {
 				'FriendlyName' => $friendlyName,
-				'Identifier' => $identifier,
+				'Name' => $name,
 				'InterfaceGroupID' => $interfaceGroupID,
 				'ClassID' => $classID,
 				'TrafficLimitTx' => $trafficLimitTx,
@@ -450,10 +450,10 @@ sub pool_addedit
 
 			$kernel->post("configmanager" => $cEvent => $poolData);
 
-			$logger->log(LOG_INFO,"[WEBSERVER/LIMITS] Pool: %s, Identifier: %s, InterfaceGroup: %s, Class: %s, Limits: %s/%s, ".
+			$logger->log(LOG_INFO,"[WEBSERVER/LIMITS] Pool: %s, Name: %s, InterfaceGroup: %s, Class: %s, Limits: %s/%s, ".
 					"Burst: %s/%s",
 					$formType,
-					prettyUndef($identifier),
+					prettyUndef($name),
 					prettyUndef($interfaceGroupID),
 					prettyUndef($classID),
 					prettyUndef($trafficLimitTx),
@@ -548,11 +548,11 @@ EOF
 				</div>
 			</div>
 			<div class="form-group">
-				<label for="Identifier" class="col-md-2 control-label">Identifier</label>
+				<label for="Name" class="col-md-2 control-label">Name</label>
 				<div class="row">
 					<div class="col-md-4 input-group">
-						<input name="Identifier" type="text" placeholder="Identifier" class="form-control"
-								value="$formData->{'Identifier'}" $formNoEdit />
+						<input name="Name" type="text" placeholder="Name" class="form-control"
+								value="$formData->{'Name'}" $formNoEdit />
 						<span class="input-group-addon">*</span>
 					</div>
 				</div>
@@ -720,12 +720,12 @@ EOF
 	# Make the pool ID safe for HTML
 	my $encodedPID = encode_entities($queryParams->{'pid'}->{'value'});
 	# Make the friendly name HTML safe
-	my $encodedIdentifier = encode_entities($pool->{'Identifier'});
+	my $encodedName = encode_entities($pool->{'Name'});
 
 	# Build our confirmation dialog
 	$content .= <<EOF;
 		<div class="alert alert-danger">
-			Are you very sure you wish to remove pool for "$encodedIdentifier"?
+			Are you very sure you wish to remove pool for "$encodedName"?
 		</div>
 		<form role="form" method="post">
 			<input type="submit" class="btn btn-primary" name="confirm" value="Yes" />
@@ -782,9 +782,9 @@ EOF
 	my $pidEscaped = encode_entities($pool->{'ID'});
 
 	my $poolFriendlyName = (defined($pool->{'FriendlyName'}) && $pool->{'FriendlyName'} ne "") ? $pool->{'FriendlyName'} :
-			$pool->{'Identifier'};
+			$pool->{'Name'};
 	my $poolFriendlyNameEncoded = encode_entities($poolFriendlyName);
-	my $poolIdentifierEncoded = encode_entities($pool->{'Identifier'});
+	my $poolNameEncoded = encode_entities($pool->{'Name'});
 
 	# Menu
 	$customMenu = [
@@ -803,7 +803,7 @@ EOF
 	$content .=<<EOF;
 		<legend>
 			<a href="pool-list"><span class="glyphicon glyphicon-circle-arrow-left"></span></a>
-			Pool Member List: '$poolFriendlyNameEncoded' [$poolIdentifierEncoded]
+			Pool Member List: '$poolFriendlyNameEncoded' [$poolNameEncoded]
 		</legend>
 		<table class="table">
 			<thead>
@@ -848,7 +848,7 @@ EOF
 
 		# Display relevant icons depending on pool status
 		my $icons = "";
-		if (getPoolMemberShaperState($poolMember->{'ID'}) ne SHAPER_LIVE) {
+		if (!(getPoolMemberShaperState($poolMember->{'ID'}) & SHAPER_LIVE)) {
 			$icons .= '<span class="glyphicon glyphicon-time" />';
 		}
 		if ($poolMember->{'Status'} == CFGM_NEW) {
@@ -1042,7 +1042,7 @@ sub poolmember_addedit
 		}
 
 		if ($formType eq "Add") {
-			if (getPoolMembersByIP($pool->{'InterfaceGroupID'},$ipAddress)) {
+			if (getAllPoolMembersByInterfaceGroupIP($pool->{'InterfaceGroupID'},$ipAddress)) {
 				push(@errors,"A pool member with the same IP address already exists");
 			}
 		} elsif ($formType eq "Edit") {
@@ -1803,7 +1803,7 @@ EOF
 
 		my $friendlyNameEncoded = prettyUndef(encode_entities($override->{'FriendlyName'}));
 		my $usernameEncoded = prettyUndef(encode_entities($override->{'Username'}));
-		my $poolIdentifierEncoded = prettyUndef(encode_entities($override->{'PoolIdentifier'}));
+		my $poolNameEncoded = prettyUndef(encode_entities($override->{'PoolName'}));
 		my $ipAddress = prettyUndef($override->{'IPAddress'});
 		my $expiresStr = ($override->{'Expires'} > 0) ?
 				DateTime->from_epoch( epoch => $override->{'Expires'} )->iso8601() : '-never-';
@@ -1818,7 +1818,7 @@ EOF
 				<tr>
 					<td></td>
 					<td>$friendlyNameEncoded</td>
-					<td>$poolIdentifierEncoded</td>
+					<td>$poolNameEncoded</td>
 					<td>$usernameEncoded</td>
 					<td>$ipAddress</td>
 					<td>$expiresStr</td>
@@ -1869,7 +1869,7 @@ sub override_addedit
 	# Items for our form...
 	my @formElements = qw(
 		FriendlyName
-		PoolIdentifier Username IPAddress
+		PoolName Username IPAddress
 		ClassID
 		TrafficLimitTx TrafficLimitTxBurst
 		TrafficLimitRx TrafficLimitRxBurst
@@ -1970,12 +1970,12 @@ sub override_addedit
 			push(@errors,"Friendly name must be specified");
 		}
 
-		# Make sure we have at least a pool identifier, username or IP address
-		my $poolIdentifier = isUsername($formData->{'PoolIdentifier'});
+		# Make sure we have at least a pool name, username or IP address
+		my $poolName = isUsername($formData->{'PoolName'});
 		my $username = isUsername($formData->{'Username'});
 		my $ipAddress = isIP($formData->{'IPAddress'});
-		if (!defined($poolIdentifier) && !defined($username) && !defined($ipAddress)) {
-			push(@errors,"A pool identifier and/or IP address and/or Username must be specified");
+		if (!defined($poolName) && !defined($username) && !defined($ipAddress)) {
+			push(@errors,"A pool name and/or IP address and/or Username must be specified");
 		}
 
 		# If the traffic class is ticked, process it
@@ -2058,7 +2058,7 @@ sub override_addedit
 			# Build override
 			my $overrideData = {
 				'FriendlyName' => $friendlyName,
-				'PoolIdentifier' => $poolIdentifier,
+				'PoolName' => $poolName,
 				'Username' => $username,
 				'IPAddress' => $ipAddress,
 #				'GroupID' => 1,
@@ -2084,7 +2084,7 @@ sub override_addedit
 
 			$logger->log(LOG_INFO,"[WEBSERVER/OVERRIDE/ADD] Pool: %s, User: %s, IP: %s, Group: %s, Class: %s, Limits: %s/%s, ".
 					"Burst: %s/%s",
-					prettyUndef($poolIdentifier),
+					prettyUndef($poolName),
 					prettyUndef($username),
 					prettyUndef($ipAddress),
 					"",
@@ -2176,11 +2176,11 @@ EOF
 				</div>
 			</div>
 			<div class="form-group">
-				<label for="PoolIdentifier" class="col-md-2 control-label">Pool Identifier</label>
+				<label for="PoolName" class="col-md-2 control-label">Pool Name</label>
 				<div class="row">
 					<div class="col-md-4">
-						<input name="PoolIdentifier" type="text" placeholder="Pool Identifier To Override" class="form-control"
-								value="$formData->{'PoolIdentifier'}" $formNoEdit/>
+						<input name="PoolName" type="text" placeholder="Pool Name To Override" class="form-control"
+								value="$formData->{'PoolName'}" $formNoEdit/>
 					</div>
 				</div>
 			</div>