public static function get( $key, $arr, $default = null ) 
	{
		if ( isset( $arr[$key] ) ) 
		{
			return $arr[$key];
		}

		if ( strpos( $key, '.' ) !== false ) 
		{
			$kp = explode( '.', $key );

			switch ( count( $kp ) ) 
			{
				case 2:
				if ( isset( $arr[$kp[0]][$kp[1]] ) ) 
				{
					return $arr[$kp[0]][$kp[1]]; 
				}
				break;
				case 3:
				if ( isset( $arr[$kp[0]][$kp[1]][$kp[2]] ) ) 
				{
					return $arr[$kp[0]][$kp[1]][$kp[2]]; 
				}
				break;	
				case 4:
				if ( isset( $arr[$kp[0]][$kp[1]][$kp[2]][$kp[3]] ) ) 
				{
					return $arr[$kp[0]][$kp[1]][$kp[2]][$kp[3]]; 
				}
				break;

				// if there are more then 4 parts loop trough them
				default:
					$curr = $arr;
					foreach( $kp as $k ) 
					{
						if ( isset( $curr[$k] ) ) {
							$curr = $curr[$k];
						} else { 
							return $default; 
						}
					}
					return $curr;
				break;
			}	
		}

		return $default;
	}