diff --git a/system/libraries/Loader.php b/system/libraries/Loader.php
index f4a9f82..b69d3f0 100644
--- a/system/libraries/Loader.php
+++ b/system/libraries/Loader.php
@@ -363,7 +363,10 @@
 	 * Load Script
 	 *
 	 * This function loads the specified include file from the
-	 * application/scripts/ folder
+	 * application/scripts/ folder.
+	 *
+	 * NOTE:  This feature has been deprecated but it will remain available
+	 * for legacy users.
 	 *
 	 * @access	public
 	 * @param	array
@@ -496,7 +499,7 @@
 		}
 		
 		/*
-		 * Extract and cached variables
+		 * Extract and cache variables
 		 *
 		 * You can either set variables using the dedicated $this->load_vars() 
 		 * function or via the second parameter of this function. We'll merge 
diff --git a/system/libraries/Router.php b/system/libraries/Router.php
index d1751a0..d7740f5 100644
--- a/system/libraries/Router.php
+++ b/system/libraries/Router.php
@@ -149,12 +149,12 @@
 			return;
 		}
 						
-		$this->set_class($segments['0']);
+		$this->set_class($segments[0]);
 		
-		if (isset($segments['1']))
+		if (isset($segments[1]))
 		{
 			// A scaffolding request. No funny business with the URL
-			if ($this->routes['scaffolding_trigger'] == $segments['1'] AND $segments['1'] != '_ci_scaffolding')
+			if ($this->routes['scaffolding_trigger'] == $segments[1] AND $segments[1] != '_ci_scaffolding')
 			{
 				$this->scaffolding_request = TRUE;
 				unset($this->routes['scaffolding_trigger']);
@@ -162,7 +162,7 @@
 			else
 			{
 				// A standard method request
-				$this->set_method($segments['1']);
+				$this->set_method($segments[1]);
 			}
 		}
 		
@@ -186,22 +186,22 @@
 	function _validate_segments($segments)
 	{
 		// Does the requested controller exist in the root folder?
-		if (file_exists(APPPATH.'controllers/'.$segments['0'].EXT))
+		if (file_exists(APPPATH.'controllers/'.$segments[0].EXT))
 		{
 			return $segments;
 		}
 
 		// Is the controller in a sub-folder?
-		if (is_dir(APPPATH.'controllers/'.$segments['0']))
+		if (is_dir(APPPATH.'controllers/'.$segments[0]))
 		{		
 			// Set the directory and remove it from the segment array
-			$this->set_directory($segments['0']);
+			$this->set_directory($segments[0]);
 			$segments = array_slice($segments, 1);
 			
 			if (count($segments) > 0)
 			{
 				// Does the requested controller exist in the sub-folder?
-				if ( ! file_exists(APPPATH.'controllers/'.$this->fetch_directory().$segments['0'].EXT))
+				if ( ! file_exists(APPPATH.'controllers/'.$this->fetch_directory().$segments[0].EXT))
 				{
 					show_404();	
 				}
@@ -250,7 +250,7 @@
 		{
 			$this->segments[$i++] = $val;
 		}
-		unset($this->segments['0']);
+		unset($this->segments[0]);
 		
 		if ($diff == FALSE)
 		{
@@ -263,7 +263,7 @@
 			{
 				$this->rsegments[$i++] = $val;
 			}
-			unset($this->rsegments['0']);
+			unset($this->rsegments[0]);
 		}
 	}
 	// END _reindex_segments()
diff --git a/system/libraries/Validation.php b/system/libraries/Validation.php
index 153657e..b65b9be 100644
--- a/system/libraries/Validation.php
+++ b/system/libraries/Validation.php
@@ -519,13 +519,27 @@
 	 * Numeric
 	 *
 	 * @access	public
-	 * @param	string
+	 * @param	int
 	 * @return	bool
 	 */	
 	function numeric($str)
 	{
 		return ( ! ereg("^[0-9\.]+$", $str)) ? FALSE : TRUE;
 	}
+
+	// --------------------------------------------------------------------
+	
+	/**
+	 * Is Numeric
+	 *
+	 * @access	public
+	 * @param	string
+	 * @return	bool
+	 */	
+	function is_numeric($str)
+	{
+		return ( ! is_numeric($str)) ? FALSE : TRUE;
+	}
 	
 	// --------------------------------------------------------------------