diff --git a/CONFIG.toml b/CONFIG.toml
index 3c0117ba..395bf6fc 100644
--- a/CONFIG.toml
+++ b/CONFIG.toml
@@ -104,7 +104,7 @@ PROJECT_SOURCE_URL = "https://github.com/ChewKeanHo/AutomataCI"
 #
 # To enable it: simply supply the path (e.g. default is 'srcGO').
 # To disable it: simply supply an empty path (e.g. default is '').
-PROJECT_NIM = 'srcNIM'
+PROJECT_NIM = ''
 
 
 # PROJECT_PATH_NIM_ENGINE
@@ -126,7 +126,7 @@ PROJECT_PATH_NIM_ENGINE = "nim-engine"
 #
 # To enable it: simply supply the path (e.g. default is 'srcC').
 # To disable it: simply supply an empty path (e.g. default is '').
-PROJECT_C = ''
+PROJECT_C = 'srcC'
 
 
 
diff --git a/automataCI/docs/AutomataCI-Engineering-Specification.odt b/automataCI/docs/AutomataCI-Engineering-Specification.odt
index 8a754251..184400e6 100644
Binary files a/automataCI/docs/AutomataCI-Engineering-Specification.odt and b/automataCI/docs/AutomataCI-Engineering-Specification.odt differ
diff --git a/automataCI/docs/AutomataCI-Engineering-Specification.pdf b/automataCI/docs/AutomataCI-Engineering-Specification.pdf
index 06f5e212..6a2e8b62 100644
Binary files a/automataCI/docs/AutomataCI-Engineering-Specification.pdf and b/automataCI/docs/AutomataCI-Engineering-Specification.pdf differ
diff --git a/automataCI/services/compilers/c.sh b/automataCI/services/compilers/c.sh
index 9239614f..eebc53c3 100644
--- a/automataCI/services/compilers/c.sh
+++ b/automataCI/services/compilers/c.sh
@@ -136,13 +136,6 @@ C::get_compiler_by_arch() {
                         ;;
                 *)
                         __compiler="aarch64-linux-gnu-gcc"
-                        OS::is_command_available "$__compiler"
-                        if [ $? -eq 0 ]; then
-                                printf -- "%b" "$__compiler"
-                                return 0
-                        fi
-
-                        __compiler="aarch64-elf-gcc"
                         ;;
                 esac
                 ;;
diff --git a/src/changelog/data/latest b/src/changelog/data/latest
index e69de29b..e76ab56a 100644
--- a/src/changelog/data/latest
+++ b/src/changelog/data/latest
@@ -0,0 +1 @@
+root: added Nim Programming Language support
\ No newline at end of file
diff --git a/src/changelog/deb/latest b/src/changelog/deb/latest
index 411cf8e8..451d2209 100644
--- a/src/changelog/deb/latest
+++ b/src/changelog/deb/latest
@@ -1,4 +1,5 @@
 automataci (1.7.0) stable; urgency=low
 
+  * root: added Nim Programming Language support
 
--- Your Legal Full Name Here <contact@youremail.example>  Sun, 15 Oct 2023 07:59:13 +0800
+-- Your Legal Full Name Here <contact@youremail.example>  Mon, 16 Oct 2023 13:05:06 +0800
diff --git a/srcC/.ci/build_unix-any.sh b/srcC/.ci/build_unix-any.sh
index 533eca31..03e923e2 100644
--- a/srcC/.ci/build_unix-any.sh
+++ b/srcC/.ci/build_unix-any.sh
@@ -22,7 +22,7 @@ fi
 
 . "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/services/io/os.sh"
 . "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/services/io/fs.sh"
-. "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/operator_unix-any.sh"
+. "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/operators_unix-any.sh"
 
 
 
@@ -67,13 +67,13 @@ EXIT_CODE=0
 # execute
 # compile for linux-amd64 (microprocessor)
 if [ ! "$PROJECT_OS" = "darwin" ]; then
-        BUILD::compile "c_binary" "linux" "amd64" "automataCI.txt" "$SETTINGS_BIN" "$COMPILER"
+        BUILD::compile "c-binary" "linux" "amd64" "automataCI.txt" "$SETTINGS_BIN" "$COMPILER"
         if [ $? -ne 0 -a $? -ne 10 ]; then
                 EXIT_CODE=1
         fi
 
         BUILD::compile \
-                "c_library" \
+                "c-library" \
                 "linux" \
                 "amd64" \
                 "libs/sample/automataCI.txt" \
@@ -87,13 +87,13 @@ fi
 
 # compile for linux-arm64 (microprocessor)
 if [ ! "$PROJECT_OS" = "darwin" ]; then
-        BUILD::compile "c_binary" "linux" "arm64" "automataCI.txt" "$SETTINGS_BIN" "$COMPILER"
+        BUILD::compile "c-binary" "linux" "arm64" "automataCI.txt" "$SETTINGS_BIN" "$COMPILER"
         if [ $? -ne 0 -a $? -ne 10 ]; then
                 EXIT_CODE=1
         fi
 
         BUILD::compile \
-                "c_library" \
+                "c-library" \
                 "linux" \
                 "arm64" \
                 "libs/sample/automataCI.txt" \
@@ -106,13 +106,13 @@ fi
 
 
 # compile for windows-amd64 (microprocessor)
-BUILD::compile "c_binary" "windows" "amd64" "automataCI.txt" "$SETTINGS_BIN" "$COMPILER"
+BUILD::compile "c-binary" "windows" "amd64" "automataCI.txt" "$SETTINGS_BIN" "$COMPILER"
 if [ $? -ne 0 -a $? -ne 10 ]; then
         EXIT_CODE=1
 fi
 
 BUILD::compile \
-        "c_library" \
+        "c-library" \
         "windows" \
         "amd64" \
         "libs/sample/automataCI.txt" \
@@ -124,13 +124,13 @@ fi
 
 
 # compile for windows-arm64 (microprocessor)
-BUILD::compile "c_binary" "windows" "arm64" "automataCI.txt" "$SETTINGS_BIN" "$COMPILER"
+BUILD::compile "c-binary" "windows" "arm64" "automataCI.txt" "$SETTINGS_BIN" "$COMPILER"
 if [ $? -ne 0 -a $? -ne 10 ]; then
         EXIT_CODE=1
 fi
 
 BUILD::compile \
-        "c_library" \
+        "c-library" \
         "windows" \
         "arm64" \
         "libs/sample/automataCI.txt" \
@@ -144,7 +144,7 @@ fi
 # compile for darwin-amd64 (microprocessor)
 if [ "$PROJECT_OS" = "darwin" ]; then
         BUILD::compile \
-                "c_binary" \
+                "c-binary" \
                 "darwin" \
                 "amd64" \
                 "automataCI.txt" \
@@ -155,7 +155,7 @@ if [ "$PROJECT_OS" = "darwin" ]; then
         fi
 
         BUILD::compile \
-                "c_library" \
+                "c-library" \
                 "darwin" \
                 "amd64" \
                 "libs/sample/automataCI.txt" \
@@ -170,7 +170,7 @@ fi
 # compile for darwin-arm64 (microprocessor)
 if [ "$PROJECT_OS" = "darwin" ]; then
         BUILD::compile \
-                "c_binary" \
+                "c-binary" \
                 "darwin" \
                 "arm64" \
                 "automataCI.txt" \
@@ -181,7 +181,7 @@ if [ "$PROJECT_OS" = "darwin" ]; then
         fi
 
         BUILD::compile \
-                "c_library" \
+                "c-library" \
                 "darwin" \
                 "arm64" \
                 "libs/sample/automataCI.txt" \
@@ -195,7 +195,7 @@ fi
 
 # compile for linux-armel (microprocessor)
 BUILD::compile \
-        "c_binary" \
+        "c-binary" \
         "linux" \
         "armel" \
         "automataCI.txt" \
@@ -208,7 +208,7 @@ fi
 
 # compile for linux-armhf (microprocessor)
 BUILD::compile \
-        "c_binary" \
+        "c-binary" \
         "linux" \
         "armhf" \
         "automataCI.txt" \
@@ -221,7 +221,7 @@ fi
 
 # compile for linux-mips (microprocessor)
 BUILD::compile \
-        "c_binary" \
+        "c-binary" \
         "linux" \
         "mips" \
         "automataCI.txt" \
@@ -234,7 +234,7 @@ fi
 
 # compile for linux-mips64 (microprocessor)
 BUILD::compile \
-        "c_binary" \
+        "c-binary" \
         "linux" \
         "mips64" \
         "automataCI.txt" \
@@ -247,7 +247,7 @@ fi
 
 # compile for linux-mips64el (microprocessor)
 BUILD::compile \
-        "c_binary" \
+        "c-binary" \
         "linux" \
         "mips64el" \
         "automataCI.txt" \
@@ -260,7 +260,7 @@ fi
 
 # compile for linux-mips64r6 (microprocessor)
 BUILD::compile \
-        "c_binary" \
+        "c-binary" \
         "linux" \
         "mips64r6" \
         "automataCI.txt" \
@@ -273,7 +273,7 @@ fi
 
 # compile for linux-mips64r6el (microprocessor)
 BUILD::compile \
-        "c_binary" \
+        "c-binary" \
         "linux" \
         "mips64r6el" \
         "automataCI.txt" \
@@ -286,7 +286,7 @@ fi
 
 # compile for linux-powerpc (microprocessor)
 BUILD::compile \
-        "c_binary" \
+        "c-binary" \
         "linux" \
         "powerpc" \
         "automataCI.txt" \
@@ -299,7 +299,7 @@ fi
 
 # compile for linux-ppc64el (microprocessor)
 BUILD::compile \
-        "c_binary" \
+        "c-binary" \
         "linux" \
         "ppc64el" \
         "automataCI.txt" \
@@ -312,7 +312,7 @@ fi
 
 # compile for linux-s390x (microprocessor)
 BUILD::compile \
-        "c_binary" \
+        "c-binary" \
         "linux" \
         "s390x" \
         "automataCI.txt" \
@@ -326,7 +326,7 @@ fi
 # compile for linux-avr (ATMEL microcontroller)
 OS::is_command_available "avr-objcopy"
 if [ $? -eq 0 ]; then
-        BUILD::compile "c_binary" "linux" "avr" "automataCI.txt" "\
+        BUILD::compile "c-binary" "linux" "avr" "automataCI.txt" "\
 -Wall \
 -Wextra \
 -std=gnu89 \
@@ -367,7 +367,7 @@ fi
 
 # compile for js-wasm (web)
 ALLOW_MEMORY_GROWTH=1 BUILD::compile \
-        "c_binary" \
+        "c-binary" \
         "js" \
         "wasm" \
         "automataCI.txt" \
diff --git a/srcC/.ci/build_windows-any.ps1 b/srcC/.ci/build_windows-any.ps1
index a23a1105..11b68490 100644
--- a/srcC/.ci/build_windows-any.ps1
+++ b/srcC/.ci/build_windows-any.ps1
@@ -21,7 +21,7 @@ if (-not (Test-Path -Path $env:PROJECT_PATH_ROOT)) {
 
 . "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\services\io\os.ps1"
 . "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\services\io\fs.ps1"
-. "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\operator_windows-any.ps1"
+. "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\operators_windows-any.ps1"
 
 
 
@@ -64,7 +64,7 @@ $EXIT_CODE = 0
 
 # compile for windows-amd64 (microprocessor)
 $__process = BUILD-Compile `
-	"c_binary" `
+	"c-binary" `
 	"windows" `
 	"amd64" `
 	"automataCI.txt" `
@@ -76,7 +76,7 @@ if (($__process -ne 0) -and ($__process -ne 10)) {
 
 
 $__process = BUILD-Compile `
-	"c_library" `
+	"c-library" `
 	"windows" `
 	"amd64" `
 	"libs\sample\automataCI.txt" `
@@ -91,7 +91,7 @@ if (($__process -ne 0) -and ($__process -ne 10)) {
 
 # compile for windows-arm64 (microprocessor)
 $__process = BUILD-Compile `
-	"c_binary" `
+	"c-binary" `
 	"windows" `
 	"arm64" `
 	"automataCI.txt" `
@@ -103,7 +103,7 @@ if (($__process -ne 0) -and ($__process -ne 10)) {
 
 
 $__process = BUILD-Compile `
-	"c_library" `
+	"c-library" `
 	"windows" `
 	"arm64" `
 	"libs\sample\automataCI.txt" `
@@ -116,7 +116,7 @@ if (($__process -ne 0) -and ($__process -ne 10)) {
 
 # compile for js-wasm (web)
 $__process = BUILD-Compile `
-	"c_binary" `
+	"c-binary" `
 	"js" `
 	"wasm" `
 	"automataCI.txt" `
diff --git a/srcC/.ci/materialize_unix-any.sh b/srcC/.ci/materialize_unix-any.sh
index a98bdc35..3fec6d12 100644
--- a/srcC/.ci/materialize_unix-any.sh
+++ b/srcC/.ci/materialize_unix-any.sh
@@ -22,7 +22,7 @@ fi
 
 . "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/services/io/os.sh"
 . "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/services/io/fs.sh"
-. "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/operator_unix-any.sh"
+. "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/operators_unix-any.sh"
 
 
 
@@ -65,7 +65,7 @@ COMPILER=""
 # execute
 if [ "$PROJECT_OS" = "darwin" ]; then
         BUILD::compile \
-                "c_binary" \
+                "c-binary" \
                 "darwin" \
                 "amd64" \
                 "automataCI.txt" \
@@ -76,7 +76,7 @@ if [ "$PROJECT_OS" = "darwin" ]; then
         fi
 
         BUILD::compile \
-                "c_library" \
+                "c-library" \
                 "darwin" \
                 "amd64" \
                 "libs/sample/automataCI.txt" \
@@ -86,13 +86,13 @@ if [ "$PROJECT_OS" = "darwin" ]; then
                 return 1
         fi
 else
-        BUILD::compile "c_binary" "linux" "amd64" "automataCI.txt" "$SETTINGS_BIN" "$COMPILER"
+        BUILD::compile "c-binary" "linux" "amd64" "automataCI.txt" "$SETTINGS_BIN" "$COMPILER"
         if [ $? -ne 0 -a $? -ne 10 ]; then
                 return 1
         fi
 
         BUILD::compile \
-                "c_library" \
+                "c-library" \
                 "linux" \
                 "amd64" \
                 "libs/sample/automataCI.txt" \
diff --git a/srcC/.ci/materialize_windows-any.ps1 b/srcC/.ci/materialize_windows-any.ps1
index af13115e..dd7067fd 100644
--- a/srcC/.ci/materialize_windows-any.ps1
+++ b/srcC/.ci/materialize_windows-any.ps1
@@ -21,7 +21,7 @@ if (-not (Test-Path -Path $env:PROJECT_PATH_ROOT)) {
 
 . "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\services\io\os.ps1"
 . "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\services\io\fs.ps1"
-. "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\operator_windows-any.ps1"
+. "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\operators_windows-any.ps1"
 
 
 
@@ -62,7 +62,7 @@ $COMPILER = ""
 
 # execute
 $__process = BUILD-Compile `
-	"c_binary" `
+	"c-binary" `
 	"windows" `
 	"${env:PROJECT_ARCH}" `
 	"automataCI.txt" `
@@ -74,7 +74,7 @@ if (($__process -ne 0) -and ($__process -ne 10)) {
 
 
 $__process = BUILD-Compile `
-	"c_library" `
+	"c-library" `
 	"windows" `
 	"${env:PROJECT_ARCH}" `
 	"libs\sample\automataCI.txt" `
diff --git a/srcC/.ci/test_unix-any.sh b/srcC/.ci/test_unix-any.sh
index 85aaf810..6b7d4893 100644
--- a/srcC/.ci/test_unix-any.sh
+++ b/srcC/.ci/test_unix-any.sh
@@ -22,7 +22,7 @@ fi
 
 . "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/services/io/os.sh"
 . "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/services/io/fs.sh"
-. "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/operator_unix-any.sh"
+. "${PROJECT_PATH_ROOT}/${PROJECT_PATH_AUTOMATA}/operators_unix-any.sh"
 
 
 
diff --git a/srcC/.ci/test_windows-any.ps1 b/srcC/.ci/test_windows-any.ps1
index 9278a2ff..dd8bcde3 100644
--- a/srcC/.ci/test_windows-any.ps1
+++ b/srcC/.ci/test_windows-any.ps1
@@ -21,7 +21,7 @@ if (-not (Test-Path -Path $env:PROJECT_PATH_ROOT)) {
 
 . "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\services\io\os.ps1"
 . "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\services\io\fs.ps1"
-. "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\operator_windows-any.ps1"
+. "${env:PROJECT_PATH_ROOT}\${env:PROJECT_PATH_AUTOMATA}\operators_windows-any.ps1"