public static function factory($config = array())
	{
		$default = array(
			'compute_type'  => 'compute',
			'identity_type' => 'identity',
			'storage_type'  => 'storage',
			'region'        => 'RegionOne'
		);
		$required = array('auth_url');
		$config = Inspector::prepareConfig($config, $default, $required);

		$client = new self($config->get('auth_url'), $config->get(
			'username'
		), $config->get('password'), $config->get('tenantName'));
		$client->setConfig($config);

		return $client;
	}