diff --git a/README.md b/README.md
index 96f6dbe0c932d36b41b3a6cd1f22a7ed647770ab..b66c209751e7c90d4fc51122e288d7dace4ee86d 100644
--- a/README.md
+++ b/README.md
@@ -85,3 +85,5 @@ dotnet build
 
 2. deps de-duplicate
 
+3. Parallelize `openxt sync` with multiple fake environment. 
+
diff --git a/main.go b/main.go
index 2366d305b97698afc3a3cf95eeb85ef3473bb571..c253038b5bae54b73438fc96b4e91f655362a4b5 100644
--- a/main.go
+++ b/main.go
@@ -3,13 +3,17 @@ package main
 import (
 	"flag"
 	"fmt"
+	"log"
 	"os"
 )
 
-// Some options here
+// Some options here. Would be improved in beta release.
 const DeductPkgNameFromVarName = true
+const OPENXT_VERSION = "0.1.2a"
 
 func main() {
+	log.Println("OpenXT version " + OPENXT_VERSION)
+
 	nugetConfigPath := "/home/recolic/tmp/test.nuget.config" // warning: not supported yet
 	projectDir := flag.String("project-dir", "", "Path to the CoreXT/OpenXT project. ")
 	localRepoDir := flag.String("local-repo-dir", "", "Path to local nuget repo. (known as CxCache in CoreXT)")
diff --git a/packageManager.go b/packageManager.go
index b7ebc2086f42578f273a825e3a6d5ee3e608403a..e509a8abae4ac9f80b60baa39ab28d65abc6aa16 100644
--- a/packageManager.go
+++ b/packageManager.go
@@ -45,7 +45,10 @@ func SyncPackages(nugetConfigPath, localRepoPath string, allDeps []dependencyIte
 			targetNetVer = "net472" // Default dotnet version
 		}
 		if DeductPkgNameFromVarName {
-			pkgName = varNameToPkgName(dep.envName) // PkgCis_SdkV2 requires this to work.
+			guessedName := guessPkgNameFromVarName(dep.envName) // PkgCis_SdkV2 requires this to work.
+			if guessedName != "" {
+				pkgName = guessedName
+			}
 		}
 
 		log.Println("DEBUG: Downloading pkg: " + pkgName + ":" + targetNetVer + " as var " + dep.envName)
diff --git a/util.go b/util.go
index 2b5ae850e647c423ea36d07d836d5560078c0103..b8642334686b808be0b7da49bf00cce859eb935e 100644
--- a/util.go
+++ b/util.go
@@ -55,9 +55,11 @@ func assertStringNotEmpty(s, msg string) {
 	}
 }
 
-func varNameToPkgName(varName string) string {
-	if varName[:3] != "Pkg" {
-		return "InvalidVarName_" + varName
+// PkgCis_SdkV2 => Cis.SdkV2
+// On error, returns empty string.
+func guessPkgNameFromVarName(varName string) string {
+	if len(varName) <= 3 || varName[:3] != "Pkg" {
+		return ""
 	}
 	return strings.ReplaceAll(varName[3:], "_", ".")
 }