diff --git a/docs/source/README.md b/docs/source/README.md
deleted file mode 100644
index c08b72d..0000000
--- a/docs/source/README.md
+++ /dev/null
@@ -1,190 +0,0 @@
-<!---
-# 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
--->
-
-# Caravel User Project
-[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![UPRJ_CI](https://github.com/efabless/caravel_project_example/actions/workflows/user_project_ci.yml/badge.svg)](https://github.com/efabless/caravel_project_example/actions/workflows/user_project_ci.yml) [![Caravel Build](https://github.com/efabless/caravel_project_example/actions/workflows/caravel_build.yml/badge.svg)](https://github.com/efabless/caravel_project_example/actions/workflows/caravel_build.yml)
-
-# Table of contents
-- [Overview](#overview)
-- [Install Caravel](#install-caravel)
-- [Caravel Integration](#caravel-integration)
-    - [Repo Integration](#repo-integration)
-    - [Verilog Integration](#verilog-integration)
-- [Running Full Chip Simulation](#running-full-chip-simulation)
-- [Hardening the User Project Macro using Openlane](#hardening-the-user-project-macro-using-openlane)
-- [Checklist for Open-MPW Submission](#checklist-for-open-mpw-submission)
-  
-# Overview
-
-This repo contains a sample user project that utilizes the [caravel](https://github.com/efabless/caravel.git) chip user space. The user project is a simple counter that showcases how to make use of [caravel's](https://github.com/efabless/caravel.git) user space utilities like IO pads, logic analyzer probes, and wishbone port. The repo also demonstrates the recommended structure for the open-mpw shuttle projects. 
-
-# Install Caravel
-
-To setup caravel, run the following: 
-
-```bash
-# By default, CARAVEL_ROOT is set to $(pwd)/caravel
-# If you want to install caravel at a different location, run "export CARAVEL_ROOT=<caravel-path>"
-# Disable submodule installation if needed by, run "export SUBMODULE=0"
-
-make install
-```
-
-To update the installed caravel to the latest, run: 
-
-```bash
- make update_caravel
-```
-
-To remove caravel, run 
-```bash
-make uninstall
-```
-
-By default [caravel-lite](https://github.com/efabless/caravel-lite.git) is installed. To install the full version of caravel, run this prior to calling make install. 
-```bash
-export CARAVEL_LITE=0
-```
-
-# Caravel Integration
-
-## Repo Integration
-
-Caravel files are kept separate from the user project by having caravel as submodule. The submodule commit should point to the latest of caravel/caravel-lite master. The following files should have a symbolic link to [caravel's](https://github.com/efabless/caravel.git) corresponding files: 
-
-- [Openlane Makefile](openlane/Makefile): This provides an easier way for running openlane to harden your macros. Refer to 
-[Hardening the User Project Macro using Openlane](#hardening-the-user-project-macro-using-openlane). Also, the makefile retains the openlane summary reports under the signoff directory. 
-
-- [Pin order](openlane/user_project_wrapper/pin_order.cfg) file for the user wrapper: The hardened user project wrapper macro must have the same pin order specified in caravel's repo. Failing to adhere to the same order will fail the gds integration of the macro with caravel's back-end. 
-
-The symbolic links are automatically set when you run `make install`. 
-
-## Verilog Integration
-
-You need to create a wrapper around your macro that adheres to the template at [user_project_wrapper](caravel/verilog/rtl/__user_project_wrapper.v). The wrapper top module must be named `user_project_wrapper` and must have the same input and output ports. The wrapper gives access to the user space utilities provided by caravel like IO ports, logic analyzer probes, and wishbone bus connection to the management SoC. 
-
-For this sample project, the user macro makes use of: 
-
-- The IO ports for displaying the count register values on the IO pads. 
-
-- The LA probes for supplying an optional reset and clock signals and for setting an initial value for the count register. 
-
-- The wishbeone port for reading/writing the count value through the management SoC. 
-
-Refer to [user_project_wrapper](verilog/rtl/user_project_wrapper.v) for more information. 
-
-<p align=”center”>
-<img src="_static/counter_32.png" width="50%" height="10%">
-</p>
-
-# Running Full Chip Simulation
-
-First, you will need to install the simulation environment, by 
-
-```bash
-make simenv
-```
-
-This will pull a docker image with the needed tools installed. 
-
-Then, you will need to build the pdk to obtain the verilog views.
-
-```bash
-# set PDK_ROOT to the path you wish to use for the pdk
-export PDK_ROOT=<pdk-installation-path>
-
-# you can optionally specify skywater-pdk and open-pdks commit used
-# by setting and exporting SKYWATER_COMMIT and OPEN_PDKS_COMMIT
-# if you do not set them, they default to the last verfied commits tested for this project
-
-make pdk
-```
-
-Then, run the RTL and GL simulation by
-
-```bash
-export PDK_ROOT=<pdk-installation-path>
-export CARAVEL_ROOT=$(pwd)/caravel
-# specify simulation mode: RTL/GL
-export SIM=RTL
-# Run IO ports testbench, make verify-io_ports
-make verify-<dv-pattern>
-```
-
-The verilog test-benches are under this directory [verilog/dv](verilog/dv). For more information on setting up the simulation environment and the available testbenches for this sample project, refer to [README](verilog/dv/README.md).
-
-# Hardening the User Project Macro using Openlane 
-
-First, you will need to install the pdk by 
-
-```bash
-# set PDK_ROOT to the path you wish to use for the pdk
-export PDK_ROOT=<pdk-installation-path>
-
-# you can optionally specify skywater-pdk and open-pdks commit used
-# by setting and exporting SKYWATER_COMMIT and OPEN_PDKS_COMMIT
-# if you do not set them, they default to the last verfied commits tested for this project
-
-make pdk
-```
-
-Then, you will need to install openlane by 
-
-```bash
-export OPENLANE_ROOT=<openlane-installation-path>
-export OPENLANE_TAG=mpw-two-a
-make openlane
-```
-
-For detailed instructions on how to install openlane and the pdk refer to [README](https://github.com/efabless/openlane/blob/master/README.md). 
-
-
-There are two options for hardening the user project macro using openlane: 
-
-1. Hardening the user macro, then embedding it in the wrapper
-2. Flattening the user macro with the wrapper. 
-
-For more details on this, refer to this [README](https://github.com/efabless/caravel/blob/master/openlane/README.rst).
-
-For this sample project, we went for the first option where the user macro is hardened first, then it is inserted in the user project wrapper. 
-
-<p align=”center”>
-<img src="_static/wrapper.png" width="30%" height="5%">
-</p>
-
-To reproduce hardening this project, run the following: 
-
-```bash
-# export tag to v0.12 because currently mpw-two-a tag doesn't have a docker image.
-export OPENLANE_TAG=v0.12
-# Run openlane to harden user_proj_example
-make user_proj_example
-# Run openlane to harden user_project_wrapper
-make user_project_wrapper
-```
-
-# Checklist for Open-MPW Submission
-
-- [x] The project repo adheres to the same directory structure in this repo.
-- [x] The project repo contain info.yaml at the project root. 
-- [x] Top level macro is named `user_project_wrapper`. 
-- [x] Full Chip Simulation passes for RTL and GL (gate-level)
-- [x] The hardened Macros are LVS and DRC clean
-- [x] The hardened `user_project_wrapper` adheres to the same pin order specified at [pin_order](https://github.com/efabless/caravel/blob/master/openlane/user_project_wrapper_empty/pin_order.cfg)
-- [x] XOR check passes with zero total difference. 
-- [x] Openlane summary reports are retained under ./signoff/<macro-name> 
diff --git a/docs/source/index.rst b/docs/source/index.rst
index 08244b7..6a1f564 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -61,7 +61,7 @@
     # If you want to install caravel at a different location, run "export CARAVEL_ROOT=<caravel-path>"
     # Disable submodule installation if needed by, run "export SUBMODULE=0"
     
-    clone https://github.com/efabless/caravel_user_project.git
+    git clone https://github.com/efabless/caravel_user_project.git
     cd caravel_user_project
     make install
 
@@ -207,9 +207,9 @@
 
 .. code:: bash
 
-    export OPENLANE_ROOT=<openlane-installation-path>
-    export OPENLANE_TAG=v0.12
-    make openlane
+   export OPENLANE_ROOT=<openlane-installation-path>
+   export OPENLANE_TAG=<latest-openlane-tag>
+   make openlane
 
 For detailed instructions on how to install openlane and the pdk refer
 to
@@ -242,11 +242,85 @@
 
 .. code:: bash
 
-    export OPENLANE_TAG=v0.12
-    # Run openlane to harden user_proj_example
-    make user_proj_example
-    # Run openlane to harden user_project_wrapper
-    make user_project_wrapper
+   # Run openlane to harden user_proj_example
+   make user_proj_example
+   # Run openlane to harden user_project_wrapper
+   make user_project_wrapper
+
+
+
+Running Open-MPW Precheck Locally
+=================================
+
+You can install the precheck by running 
+
+.. code:: bash
+
+   # By default, this install the precheck in your home directory
+   # To change the installtion path, run "export PRECHECK_ROOT=<precheck installation path>" 
+   make precheck
+
+This will clone the precheck repo and pull the latest precheck docker image. 
+
+
+Then, you can run the precheck by running
+
+.. code:: bash
+
+   make run-precheck
+
+This will run all the precheck checks on your project and will produce the logs under the ``checks`` directory.
+
+
+Other Miscellaneous Targets
+============================
+
+The makefile provides a number of useful that targets that can run LVS, DRC, and XOR checks on your hardened design outside of openlane's flow. 
+
+Run ```make help`` to display available targets. 
+
+Specify CARAVEL_ROOT before running any of the following, 
+
+.. code:: bash
+   
+   export CARAVEL_ROOT=<path-to-caravel>
+
+Run lvs on spice, 
+
+.. code:: bash
+
+   make lvs-<macro_name>
+
+Run lvs on the gds, 
+
+.. code:: bash
+
+   make lvs-gds-<macro_name>
+
+Run lvs on the maglef, 
+
+.. code:: bash
+
+   make lvs-maglef-<macro_name>
+
+Run drc using magic,
+
+.. code:: bash
+
+   make drc-<macro_name>
+
+Run antenna check using magic, 
+
+.. code:: bash
+
+   make antenna-<macro_name>
+
+Run XOR check, 
+
+.. code:: bash
+
+   make xor-wrapper
+
 
 Checklist for Open-MPW Submission
 =================================
