public function getAvailableExtensions()
    {
        $returnValue = array();
		$dir = new DirectoryIterator(ROOT_PATH);
		foreach ($dir as $fileinfo) {
			if ($fileinfo->isDir() && !$fileinfo->isDot() && substr($fileinfo->getBasename(), 0, 1) != '.') {
				$extId = $fileinfo->getBasename();
				if (!in_array($extId, self::$RESERVED_WORDS) && !$this->isInstalled($extId)) {
    				try {
    					$ext = $this->getExtensionById($extId);
    					$returnValue[] = $ext;
    				} catch (common_ext_ExtensionException $exception) {
    					common_Logger::d($extId.' is not an extension');
    				}
				}
			}
		}
		
		return $returnValue;
    }