diff --git a/.github/scripts/build/run-set-id.sh b/.github/scripts/build/run-set-id.sh
index 9cb87f8..ec72c43 100644
--- a/.github/scripts/build/run-set-id.sh
+++ b/.github/scripts/build/run-set-id.sh
@@ -24,15 +24,15 @@
 cd $UPRJ_ROOT
 
 # Install full version of caravel
-git clone https://github.com/efabless/caravel --depth 1 $CARAVEL_ROOT
+git clone --depth 1 https://github.com/efabless/caravel $CARAVEL_ROOT
 
 LOG_FILE=out.log
 docker run -v $UPRJ_ROOT:$UPRJ_ROOT -v $PDK_ROOT:$PDK_ROOT -v $CARAVEL_ROOT:$CARAVEL_ROOT -e UPRJ_ROOT=$UPRJ_ROOT -e PDK_ROOT=$PDK_ROOT -e CARAVEL_ROOT=$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME bash -c "cd $CARAVEL_ROOT; make uncompress; cd $UPRJ_ROOT; export USER_ID=$USER_ID; make set_user_id | tee $LOG_FILE;"
 
 cnt=$(grep "Done" $LOG_FILE -s | wc -l)
 
-if [[ $cnt -ne 3 ]]; then 
-        exit 2; 
+if [[ $cnt -ne 3 ]]; then
+	exit 2
 fi
 
 exit 0
diff --git a/.github/scripts/build/run-xor.sh b/.github/scripts/build/run-xor.sh
deleted file mode 100644
index e666188..0000000
--- a/.github/scripts/build/run-xor.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-# SPDX-FileCopyrightText: 2020 Efabless Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# SPDX-License-Identifier: Apache-2.0
-
-export UPRJ_ROOT=$(pwd)
-cd ..
-export PDK_ROOT=$(pwd)/pdks
-export CARAVEL_ROOT=$(pwd)/caravel
-export IMAGE_NAME=efabless/openlane:$OPENLANE_TAG
-
-cd $UPRJ_ROOT
-
-# Install full version of caravel
-git clone https://github.com/efabless/caravel --branch develop --depth 1 $CARAVEL_ROOT
-
-LOG_FILE=out.log
-docker run -v $UPRJ_ROOT:$UPRJ_ROOT -v $PDK_ROOT:$PDK_ROOT -v $CARAVEL_ROOT:$CARAVEL_ROOT -e UPRJ_ROOT=$UPRJ_ROOT -e PDK_ROOT=$PDK_ROOT -e CARAVEL_ROOT=$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME bash -c "cd $UPRJ_ROOT; export USER_ID=$USER_ID; make xor-analog-wrapper | tee $LOG_FILE;"
-
-cnt=$(grep -oP '(?<=Total XOR differences = )[0-9]+' $LOG_FILE)
-
-echo "Total XOR differences = $cnt"
-
-if [[ $cnt -ne 0 ]]; then 
-    exit 2; 
-fi
-
-exit 0
diff --git a/.github/scripts/build_pdk.sh b/.github/scripts/build_pdk.sh
new file mode 100644
index 0000000..8317b6a
--- /dev/null
+++ b/.github/scripts/build_pdk.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+# SPDX-FileCopyrightText: 2020 Efabless Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# SPDX-License-Identifier: Apache-2.0
+git clone --depth=1 https://github.com/efabless/caravel-lite.git
+
+export HOME=$(pwd)
+cd ..
+export PDK_ROOT=$(pwd)/pdks && mkdir "$PDK_ROOT"
+cd "$HOME"/caravel-lite/ || exit
+
+make skywater-pdk skywater-library open_pdks build-pdk gen-sources
+
+exit 0
diff --git a/.github/scripts/dv/pdkBuild.sh b/.github/scripts/dv/pdkBuild.sh
deleted file mode 100644
index 9f9ac93..0000000
--- a/.github/scripts/dv/pdkBuild.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/bash
-# SPDX-FileCopyrightText: 2020 Efabless Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# SPDX-License-Identifier: Apache-2.0
-export RUN_ROOT=$(pwd)
-
-
-# By default skip timing since we don't need the libs in any of the CI tests
-export SKIP_TIMING=${1:-1}
-export IMAGE_NAME=efabless/openlane:$OPENLANE_TAG
-docker pull $IMAGE_NAME
-
-cd $RUN_ROOT/..
-export PDK_ROOT=$(pwd)/pdks
-mkdir $PDK_ROOT
-echo $PDK_ROOT
-echo $RUN_ROOT
-cd $RUN_ROOT
-make skywater-pdk
-make skywater-library
-# The following section is for running on the CI.
-# If you're running locally you should replace them with: `make skywater-library`
-# This is because sometimes while setting up the conda env (skywater's make timing) it fails to fetch something
-# Then it exits without retrying. So, here we're retrying, and if something goes wrong it will exit after 5 retries.
-# Section Begin
-if [ $SKIP_TIMING -eq 0 ]; then
-	cnt=0
-	until make skywater-timing; do
-	cnt=$((cnt+1))
-	if [ $cnt -eq 5 ]; then
-		exit 2
-	fi
-	rm -rf $PDK_ROOT/skywater-pdk
-	make skywater-pdk
-	make skywater-library
-	done
-fi
-# Section End
-
-make open_pdks
-docker run -v $RUN_ROOT:/openLANE_flow -v $PDK_ROOT:$PDK_ROOT -e PDK_ROOT=$PDK_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME  bash -c "make build-pdk"
-
-rm -rf $PDK_ROOT/open_pdks
-rm -rf $PDK_ROOT/skywater-pdk
-
-echo "done installing"
-cd $RUN_ROOT
-exit 0
\ No newline at end of file
diff --git a/.github/scripts/dv/run-dv-wrapper.sh b/.github/scripts/dv/run-dv-wrapper.sh
index 20bc951..c4a6902 100644
--- a/.github/scripts/dv/run-dv-wrapper.sh
+++ b/.github/scripts/dv/run-dv-wrapper.sh
@@ -24,36 +24,32 @@
 export TARGET_PATH=$(pwd)
 export CARAVEL_ROOT=$(pwd)/caravel
 
-if [ ! -d $TARGET_PATH ] 
-then
-    echo "Directory /path/to/dir DOES NOT exists." 
-    exit 9999 
+if [ ! -d $TARGET_PATH ]; then
+    echo "Directory /path/to/dir DOES NOT exists."
+    exit 9999
 fi
 
 cd ..
 
 export PDK_ROOT=$(pwd)/pdks
-if [ ! -d $PDK_ROOT ] 
-then
-    echo "Directory /path/to/dir DOES NOT exists." 
-    exit 9999 
-fi
-
-DV_PATH=$TARGET_PATH/verilog/dv
-if [ ! -d $DV_PATH ] 
-then
-    echo "Directory /path/to/dir DOES NOT exists." 
+if [ ! -d $PDK_ROOT ]; then
+    echo "Directory /path/to/dir DOES NOT exists."
     exit 9999
 fi
 
-for id in "${DV_TEST_IDS[@]}"
-do 
+DV_PATH=$TARGET_PATH/verilog/dv
+if [ ! -d $DV_PATH ]; then
+    echo "Directory /path/to/dir DOES NOT exists."
+    exit 9999
+fi
+
+for id in "${DV_TEST_IDS[@]}"; do
     docker run -v $TARGET_PATH:$TARGET_PATH -v $PDK_ROOT:$PDK_ROOT \
-                -v $CARAVEL_ROOT:$CARAVEL_ROOT \
-                -e TARGET_PATH=$TARGET_PATH -e PDK_ROOT=$PDK_ROOT \
-                -e CARAVEL_ROOT=$CARAVEL_ROOT \
-                -u $(id -u $USER):$(id -g $USER) efabless/dv_setup:latest \
-                bash -c "bash $TARGET_PATH/.github/scripts/dv/run-dv.sh $PDK_ROOT $DV_PATH $id $SIM_MODE"
+    -v $CARAVEL_ROOT:$CARAVEL_ROOT \
+    -e TARGET_PATH=$TARGET_PATH -e PDK_ROOT=$PDK_ROOT \
+    -e CARAVEL_ROOT=$CARAVEL_ROOT \
+    -u $(id -u $USER):$(id -g $USER) efabless/dv_setup:latest \
+    bash -c "bash $TARGET_PATH/.github/scripts/dv/run-dv.sh $PDK_ROOT $DV_PATH $id $SIM_MODE"
 
     echo "DONE!"
 
@@ -63,15 +59,15 @@
         cnt=$(grep "Pass" $VERDICT_FILE -s | wc -l)
         if ! [[ $cnt ]]; then cnt = 0; fi
     else
-        echo "DV check failed due to subscript failure. Please review the logs";
-        exit 2;
+        echo "DV check failed due to subscript failure. Please review the logs"
+        exit 2
     fi
 
     echo "Verdict: $cnt"
 
-    if [[ $cnt -ne 1 ]]; then 
-        exit 2; 
+    if [[ $cnt -ne 1 ]]; then
+        exit 2
     fi
 done
 
-exit 0;
+exit 0
diff --git a/.github/scripts/dv/run-dv.sh b/.github/scripts/dv/run-dv.sh
index 53b7e96..d08b5c5 100644
--- a/.github/scripts/dv/run-dv.sh
+++ b/.github/scripts/dv/run-dv.sh
@@ -5,7 +5,7 @@
 
 cd $DV_PATH
 
-## get the name of all subdfolders under verilog/dv 
+## get the name of all subdfolders under verilog/dv
 ALL_DV_TESTS="$(find * -maxdepth 0 -type d)"
 ## convert all ALL_DV_TESTS to an array
 TESTS_ARR=($ALL_DV_TESTS)
@@ -13,8 +13,7 @@
 len=${#TESTS_ARR[@]}
 
 ## make sure that the test ID is less than the array length
-if [ $DV_TEST_ID -ge $len ]
-then
+if [ $DV_TEST_ID -ge $len ]; then
     echo "Error: Invalid Test ID"
     exit 1
 fi
@@ -30,11 +29,11 @@
 cd $PATTERN
 echo $(pwd)
 make 2>&1 | tee $logFile
-grep "Monitor" $logFile >> $OUT_FILE
+grep "Monitor" $logFile >>$OUT_FILE
 make clean
 
 echo "Execution Done on $PATTERN !"
 
 cat $OUT_FILE
 
-exit 0
\ No newline at end of file
+exit 0
diff --git a/.github/scripts/install_magic.sh b/.github/scripts/install_magic.sh
new file mode 100644
index 0000000..ca91137
--- /dev/null
+++ b/.github/scripts/install_magic.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+# SPDX-FileCopyrightText: 2020 Efabless Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# SPDX-License-Identifier: Apache-2.0
+sudo apt-get install -y csh freeglut3-dev libncurses5-dev libncursesw5-dev libglu1-mesa-dev libx11-dev mesa-common-dev tcl tcl-dev tk tk-dev
+
+git clone --depth=1 --branch 8.3.265 https://github.com/RTimothyEdwards/magic.git
+cd magic || exit
+sudo ./configure --disable-locking --prefix=/usr CFLAGS='-g -O0 -m64 -fPIC'
+sudo make -j4
+sudo make install
+
+exit 0
diff --git a/.github/scripts/precheck/precheckBuild.sh b/.github/scripts/precheck/precheckBuild.sh
deleted file mode 100644
index 7754922..0000000
--- a/.github/scripts/precheck/precheckBuild.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-# SPDX-FileCopyrightText: 2020 Efabless Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# SPDX-License-Identifier: Apache-2.0
-
-# By default build pdk since we don't need the other script for the main purpose
-export SKIP_PDK_BUILD=${1:-0}
-
-export TARGET_PATH=$(pwd)
-git clone https://github.com/efabless/mpw_precheck.git
-
-docker pull efabless/mpw_precheck:latest
-
-
-if [ $SKIP_PDK_BUILD -eq 0 ]; then
-    cd $TARGET_PATH/..
-    export PDK_ROOT=$(pwd)/precheck_pdks
-    mkdir $PDK_ROOT
-    cd $TARGET_PATH/mpw_precheck/dependencies
-    sh build-pdk.sh
-    cd $TARGET_DIR
-
-fi
-
-exit 0
diff --git a/.github/scripts/precheck/run-precheck-drc.sh b/.github/scripts/precheck/run-precheck-drc.sh
deleted file mode 100644
index dd38dc0..0000000
--- a/.github/scripts/precheck/run-precheck-drc.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-# SPDX-FileCopyrightText: 2020 Efabless Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# SPDX-License-Identifier: Apache-2.0
-export TARGET_PATH=$(pwd)
-export CARAVEL_ROOT=$(pwd)/caravel
-cd ..
-export PDK_ROOT=$(pwd)/precheck_pdks
-export PRECHECK_ROOT=$TARGET_PATH/mpw_precheck/
-export OUTPUT_DIRECTORY=$TARGET_PATH/checks
-cd $TARGET_PATH/mpw_precheck/
-
-docker run -v $PRECHECK_ROOT:$PRECHECK_ROOT -v $TARGET_PATH:$TARGET_PATH -v $CARAVEL_ROOT:$CARAVEL_ROOT  -v $PDK_ROOT:$PDK_ROOT -u $(id -u $USER):$(id -g $USER) efabless/mpw_precheck:latest bash -c "cd $PRECHECK_ROOT; python3 mpw_precheck.py magic_drc klayout_offgrid klayout_feol klayout_zeroarea klayout_pin_label_purposes_overlapping_drawing --pdk_root $PDK_ROOT --input_directory $TARGET_PATH --caravel_root $CARAVEL_ROOT --output_directory $OUTPUT_DIRECTORY"
-output=$OUTPUT_DIRECTORY/logs/precheck.log
-
-gzipped_file=$OUTPUT_DIRECTORY/logs/precheck.log.gz
-
-if [[ -f $gzipped_file ]]; then
-    gzip -d $gzipped_file
-fi
-
-grep "Violation Message" $output
-
-cnt=$(grep -c "All Checks Passed" $output)
-if ! [[ $cnt ]]; then cnt=0; fi
-if [[ $cnt -eq 1 ]]; then exit 0; fi
-exit 2
\ No newline at end of file
diff --git a/.github/scripts/precheck/run-precheck.sh b/.github/scripts/precheck/run-precheck.sh
deleted file mode 100644
index 66d5da6..0000000
--- a/.github/scripts/precheck/run-precheck.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-# SPDX-FileCopyrightText: 2020 Efabless Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# SPDX-License-Identifier: Apache-2.0
-export TARGET_PATH=$(pwd)
-export CARAVEL_ROOT=$(pwd)/caravel
-cd ..
-export PDK_ROOT=$(pwd)/precheck_pdks
-export PRECHECK_ROOT=$TARGET_PATH/mpw_precheck/
-export OUTPUT_DIRECTORY=$TARGET_PATH/checks
-cd $TARGET_PATH/mpw_precheck/
-
-docker run -v $PRECHECK_ROOT:$PRECHECK_ROOT -v $TARGET_PATH:$TARGET_PATH -v $PDK_ROOT:$PDK_ROOT -v $CARAVEL_ROOT:$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) efabless/mpw_precheck:latest bash -c " cd $PRECHECK_ROOT ; python3 mpw_precheck.py license yaml manifest makefile consistency xor --pdk_root $PDK_ROOT --input_directory $TARGET_PATH --caravel_root $CARAVEL_ROOT --output_directory $OUTPUT_DIRECTORY"
-output=$OUTPUT_DIRECTORY/logs/precheck.log
-
-gzipped_file=$OUTPUT_DIRECTORY/logs/precheck.log.gz
-
-if [[ -f $gzipped_file ]]; then
-    gzip -d $gzipped_file
-fi
-
-grep "Violation Message" $output
-
-cnt=$(grep -c "All Checks Passed" $output)
-if ! [[ $cnt ]]; then cnt=0; fi
-if [[ $cnt -eq 1 ]]; then exit 0; fi
-exit 2
diff --git a/.github/scripts/run_precheck.sh b/.github/scripts/run_precheck.sh
new file mode 100644
index 0000000..dee2f67
--- /dev/null
+++ b/.github/scripts/run_precheck.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+# SPDX-FileCopyrightText: 2020 Efabless Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# SPDX-License-Identifier: Apache-2.0
+export INPUT_DIRECTORY=$(pwd)
+export PRECHECK_ROOT=$INPUT_DIRECTORY/mpw_precheck
+export OUTPUT_DIRECTORY=$INPUT_DIRECTORY/mpw_precheck_result
+export OUTPUT=$OUTPUT_DIRECTORY/logs/precheck.log
+cd ..
+export PDK_ROOT=$(pwd)/pdks
+cd "$PRECHECK_ROOT" || exit
+
+docker run -v "$PRECHECK_ROOT":"$PRECHECK_ROOT" -v "$INPUT_DIRECTORY":"$INPUT_DIRECTORY" -v "$PDK_ROOT":"$PDK_ROOT" -e INPUT_DIRECTORY="$INPUT_DIRECTORY" -e PDK_ROOT="$PDK_ROOT" -u $(id -u "$USER"):$(id -g "$USER") efabless/mpw_precheck:latest bash -c "cd $PRECHECK_ROOT; python3 mpw_precheck.py --input_directory $INPUT_DIRECTORY --pdk_root $PDK_ROOT --output_directory $OUTPUT_DIRECTORY license makefile consistency xor magic_drc klayout_beol klayout_feol klayout_met_min_ca_density klayout_offgrid klayout_pin_label_purposes_overlapping_drawing klayout_zeroarea"
+
+cnt=$(grep -c "All Checks Passed" "$OUTPUT")
+if ! [[ $cnt ]]; then cnt=0; fi
+if [[ $cnt -eq 1 ]]; then exit 0; fi
+
+exit 2
diff --git a/.github/workflows/caravan_build.yml b/.github/workflows/caravan_build.yml
index 20588b6..9ba9f16 100644
--- a/.github/workflows/caravan_build.yml
+++ b/.github/workflows/caravan_build.yml
@@ -1,73 +1,75 @@
-name: Caravan Build
+# name: Caravan Build
 
+# on:
+#   # Runs on Every Push
+#   push:
+#   # Runs on Pull Requests
+#   pull_request:
+#   workflow_dispatch:
 
-on:
-    # Runs on Every Push
-    push:
-    # Runs on Pull Requests
-    pull_request:
-    workflow_dispatch:
+# jobs:
+#   make_truck:
+#     runs-on: ubuntu-latest
+#     steps:
+#       - uses: actions/checkout@v2
 
-jobs:
-  make_truck:
-    runs-on: ubuntu-latest
-    steps:
-       - uses: actions/checkout@v2
-      
-       - name: Set up QEMU
-         uses: docker/setup-qemu-action@v1
+#       - name: Set up QEMU
+#         uses: docker/setup-qemu-action@v1
 
-       - name: Set up Docker Buildx
-         uses: docker/setup-buildx-action@v1
-        
-       - name: Install The PDK
-         run:  bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh
-         env: 
-          OPENLANE_TAG:  2021.09.16_03.28.21
+#       - name: Set up Docker Buildx
+#         uses: docker/setup-buildx-action@v1
 
-       - name: Run make truck
-         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-truck.sh 
-         env: 
-          OPENLANE_TAG:  2021.09.16_03.28.21
-          
-  set_user_id:
-    runs-on: ubuntu-latest
-    steps:
-       - uses: actions/checkout@v2
-      
-       - name: Set up QEMU
-         uses: docker/setup-qemu-action@v1
+#       - name: Install Magic
+#         run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh
 
-       - name: Set up Docker Buildx
-         uses: docker/setup-buildx-action@v1
-        
-       - name: Install The PDK
-         run:  bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh
-         env: 
-          OPENLANE_TAG:  2021.09.16_03.28.21
+#       - name: Build PDK
+#         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh
 
-       - name: Run Set User ID
-         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-set-id.sh 
-         env: 
-          OPENLANE_TAG:  2021.09.16_03.28.21
+#       - name: Run make truck
+#         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-truck.sh
+#         env:
+#           OPENLANE_TAG: 2021.09.16_03.28.21
 
-  xor_wrapper:
-    runs-on: ubuntu-latest
-    steps:
-       - uses: actions/checkout@v2
-      
-       - name: Set up QEMU
-         uses: docker/setup-qemu-action@v1
+#   set_user_id:
+#     runs-on: ubuntu-latest
+#     steps:
+#       - uses: actions/checkout@v2
 
-       - name: Set up Docker Buildx
-         uses: docker/setup-buildx-action@v1
-        
-       - name: Install The PDK
-         run:  bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh
-         env: 
-          OPENLANE_TAG:  2021.09.16_03.28.21
+#       - name: Set up QEMU
+#         uses: docker/setup-qemu-action@v1
 
-       - name: Run XOR Check
-         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-xor.sh 
-         env: 
-          OPENLANE_TAG:  2021.09.16_03.28.21
+#       - name: Set up Docker Buildx
+#         uses: docker/setup-buildx-action@v1
+
+#       - name: Install Magic
+#         run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh
+
+#       - name: Build PDK
+#         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh
+
+#       - name: Run Set User ID
+#         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-set-id.sh
+#         env:
+#           OPENLANE_TAG: 2021.09.16_03.28.21
+
+#   xor_wrapper:
+#     runs-on: ubuntu-latest
+#     steps:
+#       - uses: actions/checkout@v2
+
+#       - name: Set up QEMU
+#         uses: docker/setup-qemu-action@v1
+
+#       - name: Set up Docker Buildx
+#         uses: docker/setup-buildx-action@v1
+
+#       - name: Install Magic
+#         run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh
+
+#       - name: Build PDK
+#         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh
+
+#       - name: Run XOR Check
+#         run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-xor.sh
+#         env:
+#           OPENLANE_TAG: 2021.09.16_03.28.21
diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml
index 49b8d92..330d845 100644
--- a/.github/workflows/user_project_ci.yml
+++ b/.github/workflows/user_project_ci.yml
@@ -1,12 +1,11 @@
 name: CI
 
-
 on:
-    # Runs on Every Push
-    push:
-    # Runs on Pull Requests
-    pull_request:
-    workflow_dispatch:
+  # Runs on Every Push
+  push:
+  # Runs on Pull Requests
+  pull_request:
+  workflow_dispatch:
 
 jobs:
   precheck:
@@ -21,72 +20,62 @@
       - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v1
 
-      - name: Install The Precheck
-        run: sh ${GITHUB_WORKSPACE}/.github/scripts/precheck/precheckBuild.sh
+      - name: Install Magic
+        run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh
 
-      - name: Run The Precheck
-        run: bash ${GITHUB_WORKSPACE}/.github/scripts/precheck/run-precheck.sh
-  
-  precheck-drc:
-    timeout-minutes: 720
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v2
-
-      - name: Set up QEMU
-        uses: docker/setup-qemu-action@v1
-
-      - name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v1
+      - name: Build PDK
+        run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh
 
       - name: Install The Precheck
-        run: sh ${GITHUB_WORKSPACE}/.github/scripts/precheck/precheckBuild.sh
+        run: git clone --depth=1 https://github.com/efabless/mpw_precheck.git ${GITHUB_WORKSPACE}/mpw_precheck
 
       - name: Run The Precheck
-        run: bash ${GITHUB_WORKSPACE}/.github/scripts/precheck/run-precheck-drc.sh
-  
-  dv_rtl:
-    runs-on: ubuntu-latest
-    steps:
-       - uses: actions/checkout@v2
-      
-       - name: Set up QEMU
-         uses: docker/setup-qemu-action@v1
+        run: bash ${GITHUB_WORKSPACE}/.github/scripts/run_precheck.sh
 
-       - name: Set up Docker Buildx
-         uses: docker/setup-buildx-action@v1
-        
-       - name: Install The PDK
-         run:  bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh
-         env: 
-          OPENLANE_TAG:  2021.09.16_03.28.21
-          
-       - name: Install The Dockerized DV Setup
-         run:  docker pull efabless/dv_setup:latest
-       
-       - name: Run DV tests
-         # Run test number 0,1,2,3,4 in one job                            <test-ids>   <sim-mode>
-         run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0             RTL
+  # dv_rtl:
+  #   runs-on: ubuntu-latest
+  #   steps:
+  #     - uses: actions/checkout@v2
 
-  dv_gl:
-    runs-on: ubuntu-latest
-    steps:
-       - uses: actions/checkout@v2
-      
-       - name: Set up QEMU
-         uses: docker/setup-qemu-action@v1
+  #     - name: Set up QEMU
+  #       uses: docker/setup-qemu-action@v1
 
-       - name: Set up Docker Buildx
-         uses: docker/setup-buildx-action@v1
-        
-       - name: Install The PDK
-         run:  bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh
-         env: 
-          OPENLANE_TAG:  2021.09.16_03.28.21
-          
-       - name: Install The Dockerized DV Setup
-         run:  docker pull efabless/dv_setup:latest
-       
-       - name: Run DV tests
-         # Run test number 0,1,2,3,4 in one job                             <test-ids>   <sim-mode>
-         run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0              GL
+  #     - name: Set up Docker Buildx
+  #       uses: docker/setup-buildx-action@v1
+
+  #     - name: Install Magic
+  #       run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh
+
+  #     - name: Build PDK
+  #       run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh
+
+  #     - name: Install The Dockerized DV Setup
+  #       run: docker pull efabless/dv_setup:latest
+
+  #     - name: Run DV tests
+  #       # Run test number 0,1,2,3,4 in one job                            <test-ids>   <sim-mode>
+  #       run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0             RTL
+
+  # dv_gl:
+  #   runs-on: ubuntu-latest
+  #   steps:
+  #     - uses: actions/checkout@v2
+
+  #     - name: Set up QEMU
+  #       uses: docker/setup-qemu-action@v1
+
+  #     - name: Set up Docker Buildx
+  #       uses: docker/setup-buildx-action@v1
+
+  #     - name: Install Magic
+  #       run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh
+
+  #     - name: Build PDK
+  #       run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh
+
+  #     - name: Install The Dockerized DV Setup
+  #       run: docker pull efabless/dv_setup:latest
+
+  #     - name: Run DV tests
+  #       # Run test number 0,1,2,3,4 in one job                             <test-ids>   <sim-mode>
+  #       run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0              GL
diff --git a/Makefile b/Makefile
index c448f84..4e877be 100644
--- a/Makefile
+++ b/Makefile
@@ -100,15 +100,15 @@
 # Default installs to the user home directory, override by "export PRECHECK_ROOT=<precheck-installation-path>"
 .PHONY: precheck
 precheck:
-	@git clone --depth=1 --branch mpw-5 https://github.com/efabless/mpw_precheck.git $(PRECHECK_ROOT)
+	@git clone --depth=1 --branch mpw-5a https://github.com/efabless/mpw_precheck.git $(PRECHECK_ROOT)
 	@docker pull efabless/mpw_precheck:latest
 
 .PHONY: run-precheck
-run-precheck: check-precheck check-pdk check-caravel
+run-precheck: check-pdk check-precheck
 	$(eval INPUT_DIRECTORY := $(shell pwd))
 	cd $(PRECHECK_ROOT) && \
-	docker run -e INPUT_DIRECTORY=$(INPUT_DIRECTORY) -e PDK_ROOT=$(PDK_ROOT) -v $(PRECHECK_ROOT):$(PRECHECK_ROOT) -v $(INPUT_DIRECTORY):$(INPUT_DIRECTORY) -v $(PDK_ROOT):$(PDK_ROOT) \
-	-u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/mpw_precheck:latest bash -c "cd $(PRECHECK_ROOT) ; python3 mpw_precheck.py --pdk_root $(PDK_ROOT) --input_directory $(INPUT_DIRECTORY)"
+	docker run -v $(PRECHECK_ROOT):$(PRECHECK_ROOT) -v $(INPUT_DIRECTORY):$(INPUT_DIRECTORY) -v $(PDK_ROOT):$(PDK_ROOT) -e INPUT_DIRECTORY=$(INPUT_DIRECTORY) -e PDK_ROOT=$(PDK_ROOT) \
+	-u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/mpw_precheck:latest bash -c "cd $(PRECHECK_ROOT) ; python3 mpw_precheck.py --input_directory $(INPUT_DIRECTORY) --pdk_root $(PDK_ROOT)"
 
 # Clean 
 .PHONY: clean
