public static function create( $color ) 
	{
		// our return
		$rgb = array();

		if ( is_array( $color ) ) 
		{
			$color = array_values( $color );
			$rgb[0] = $color[0];
			$rgb[1] = $color[1];
			$rgb[2] = $color[2];
		}
		// parse hex color 
		elseif ( is_string( $color ) && substr( $color, 0, 1 ) == '#' ) 
		{
			$color = substr( $color, 1 );

			if( strlen( $color ) == 3 ) 
			{
				$rgb[0] = hexdec( substr( $color, 0, 1 ) . substr( $color, 0, 1 ) );
				$rgb[1] = hexdec( substr( $color, 1, 1 ) . substr( $color, 1, 1 ) );
				$rgb[2] = hexdec( substr( $color, 2, 1 ) . substr( $color, 2, 1 ) );
			}
			elseif( strlen( $color ) == 6 ) 
			{
				$rgb[0] = hexdec( substr( $color, 0, 2 ) );
				$rgb[1] = hexdec( substr( $color, 2, 2 ) );
				$rgb[2] = hexdec( substr( $color, 4, 2 ) );
			}
		}
		// could not be parsed 
		else 
		{
			return false;
		}

		return new static( $rgb );
	}