diff --git a/OA/BAG_prim/.oalib b/OA/BAG_prim/.oalib
index 21ffef8..0859910 100644
--- a/OA/BAG_prim/.oalib
+++ b/OA/BAG_prim/.oalib
@@ -1,5 +1,25 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright 2019-2021 SkyWater PDK Authors
 
+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
+
+    https://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.
+
+This code is *alternatively* available under a BSD-3-Clause license, see
+details in the README.md at the top level and the license text at
+https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+
+SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+-->
 <Library DMSystem="oaDMFileSys">
     <oaDMFileSys libReadOnly="No"
                  origFileSystem="Unix"/>
diff --git a/OA/BAG_prim/cdsinfo.tag b/OA/BAG_prim/cdsinfo.tag
index b75aa95..f3a24f0 100644
--- a/OA/BAG_prim/cdsinfo.tag
+++ b/OA/BAG_prim/cdsinfo.tag
@@ -1,11 +1,22 @@
+# Copyright 2019-2021 SkyWater PDK Authors
 #
-# This is a cdsinfo.tag file.
+# 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
 #
-# See the "Cadence Application Infrastructure Reference Manual" for
-# details on the format of this file, its semantics, and its use.
+#     https://www.apache.org/licenses/LICENSE-2.0
 #
-# The `#' character denotes a comment. Removing the leading `#'
-# character from any of the entries below will activate them.
+# 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.
+#
+# This code is *alternatively* available under a BSD-3-Clause license, see
+# details in the README.md at the top level and the license text at
+# https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+#
+# SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 #
 # CDSLIBRARY entry - add this entry if the directory containing
 # this cdsinfo.tag file is the root of a Cadence library.
diff --git a/calibre_setup/drc.runset b/calibre_setup/drc.runset
index 7908bef..05f6f1b 100644
--- a/calibre_setup/drc.runset
+++ b/calibre_setup/drc.runset
@@ -1,3 +1,22 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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
+//
+//     https://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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 *drcRulesFile: ${PDK_HOME}/DRC/Calibre/s8_drcRules
 *drcRunDir: ${BAG_WORK_DIR}/calibre_run/drc/myLib/myCell
 *drcLayoutPaths: myCell.calibre.db
diff --git a/calibre_setup/drc.svrf b/calibre_setup/drc.svrf
index f65cdad..ec12374 100644
--- a/calibre_setup/drc.svrf
+++ b/calibre_setup/drc.svrf
@@ -1,3 +1,23 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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
+//
+//     https://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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
 LAYOUT PATH  "{{ layout_file }}"
 LAYOUT PRIMARY "{{ cell_name }}"
 LAYOUT SYSTEM {{layout_type}}
diff --git a/calibre_setup/lvs.runset b/calibre_setup/lvs.runset
index c1a94bf..aa56bfd 100644
--- a/calibre_setup/lvs.runset
+++ b/calibre_setup/lvs.runset
@@ -1,3 +1,22 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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
+//
+//     https://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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 *lvsRulesFile: ${PDK_HOME}/LVS/Calibre/lvs_s8_opts
 *lvsRunDir: ${BAG_WORK_DIR}/calibre_run/lvs/myLib/top_cell
 *lvsLayoutPaths: top_cell.calibre.db
diff --git a/calibre_setup/lvs.svrf b/calibre_setup/lvs.svrf
index 73b3fff..a10001c 100644
--- a/calibre_setup/lvs.svrf
+++ b/calibre_setup/lvs.svrf
@@ -1,3 +1,23 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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
+//
+//     https://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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
 LAYOUT PATH  "{{ layout_file }}"
 LAYOUT PRIMARY "{{ cell_name }}"
 LAYOUT SYSTEM {{layout_type}}
diff --git a/netlist_setup/bag_prim.scs b/netlist_setup/bag_prim.scs
index 358feb1..3ea4972 100644
--- a/netlist_setup/bag_prim.scs
+++ b/netlist_setup/bag_prim.scs
@@ -1,3 +1,22 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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
+//
+//     https://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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
 subckt nmos4_hv B D G S
 parameters l w nf
diff --git a/netlist_setup/spectre_prim.scs b/netlist_setup/spectre_prim.scs
index f8bde6b..8bcb34c 100644
--- a/netlist_setup/spectre_prim.scs
+++ b/netlist_setup/spectre_prim.scs
@@ -1,3 +1,22 @@
+// Copyright 2019-2021 SkyWater PDK Authors
+//
+// 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
+//
+//     https://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.
+//
+// This code is *alternatively* available under a BSD-3-Clause license, see
+// details in the README.md at the top level and the license text at
+// https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+//
+// SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 simulator lang=spectre
 
 subckt ideal_balun d c p n
diff --git a/pcell_setup/gen_skill.py b/pcell_setup/gen_skill.py
index 11b3a6f..03b40c9 100644
--- a/pcell_setup/gen_skill.py
+++ b/pcell_setup/gen_skill.py
@@ -1,9 +1,6 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 #
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-#
 # Copyright 2019-2021 SkyWater PDK Authors
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -27,6 +24,7 @@
 
 from jinja2 import Template
 
+
 tech_lib = 's8phirs_10r'
 # mos_w_default = '0.42'
 # mos_l_default = '0.15'
diff --git a/pcell_setup/prim_pcell.il b/pcell_setup/prim_pcell.il
index 58a6a59..0afa585 100644
--- a/pcell_setup/prim_pcell.il
+++ b/pcell_setup/prim_pcell.il
@@ -1,3 +1,23 @@
+;; Copyright 2019-2021 SkyWater PDK Authors
+;;
+;; 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
+;;
+;;     https://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.
+;;
+;; This code is *alternatively* available under a BSD-3-Clause license, see
+;; details in the README.md at the top level and the license text at
+;; https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+;;
+;; SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
 ;; This skill file compiles schematic PCells for BAG primitives
 
 lib_obj = ddGetObj("BAG_prim")
@@ -6,16 +26,21 @@
 ; nmos4_standard/nshort
 pcDefinePCell(
     list( lib_obj "nmos4_standard" "schematic" "schematic")
-    (
+    ((w string "0.42")
+     (l string "0.15")
      (nf string "1")
     )
     let((inst iopin_master io_net io_pin)
+        wval = atoi(w)
         nval = atoi(nf)
         inst = dbCreateParamInstByMasterName( pcCellView "s8phirs_10r" "nfet" "symbol"
                                               "N0" -0.375:0 "R0" 1
                                               list(list("hspiceModelMenu" "string" "nshort")
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
                                                    list("m" "string" nf)
-                                                )
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                            )
         iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
         io_net = dbCreateNet(pcCellView "D")
         io_pin = dbCreatePin(io_net dbCreateInst(pcCellView iopin_master "D" -0.5:0.5625 "R0")
@@ -421,4 +446,3 @@
 
 
 
-
diff --git a/pcell_setup/prim_pcell_jinja2.il b/pcell_setup/prim_pcell_jinja2.il
index 033bd50..a257972 100644
--- a/pcell_setup/prim_pcell_jinja2.il
+++ b/pcell_setup/prim_pcell_jinja2.il
@@ -1,3 +1,23 @@
+;; Copyright 2019-2021 SkyWater PDK Authors
+;;
+;; 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
+;;
+;;     https://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.
+;;
+;; This code is *alternatively* available under a BSD-3-Clause license, see
+;; details in the README.md at the top level and the license text at
+;; https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+;;
+;; SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
 ;; This skill file compiles schematic PCells for BAG primitives
 
 lib_obj = ddGetObj("BAG_prim")
@@ -6,20 +26,20 @@
 ; {{ mtype }}_{{ threshold }}/{{ model_thres }}
 pcDefinePCell(
     list( lib_obj "{{ mtype }}_{{ threshold }}" "schematic" "schematic")
-    (;(w string "{{ w_def }}")
-     ;(l string "{{ l_def }}")
+    ((w string "{{ w_def }}")
+     (l string "{{ l_def }}")
      (nf string "1")
     )
     let((inst iopin_master io_net io_pin)
-        ;wval = atoi(w)
-        ;nval = atoi(nf)
+        wval = atoi(w)
+        nval = atoi(nf)
         inst = dbCreateParamInstByMasterName( pcCellView "{{ tech_lib }}" "{{ model }}" "symbol"
                                               "N0" -0.375:0 "R0" 1
                                               list(list("hspiceModelMenu" "string" "{{ model_thres }}")
-                                                   ;list("w" "string" w)
-                                                   ;list("l" "string" l)
+                                                   list("w" "string" w)
+                                                   list("l" "string" l)
                                                    list("m" "string" nf)
-                                                   ;list("totalW" "string" sprintf(nil "%dn" wval * nval)))
+                                                   list("totalW" "string" sprintf(nil "%dn" wval * nval)))
                                             )
         iopin_master = dbOpenCellViewByType("basic" "iopin" "symbolr" nil "r")
         io_net = dbCreateNet(pcCellView "D")
@@ -140,4 +160,4 @@
         dbCreateInstTerm(io_net inst dbFindTermByName(inst~>master "MINUS"))
     )
 )
-{% endfor %}
+{% endfor %}
\ No newline at end of file
diff --git a/src/BAG_prim/__init__.py b/src/BAG_prim/__init__.py
index 0cebf6d..7e4a026 100644
--- a/src/BAG_prim/__init__.py
+++ b/src/BAG_prim/__init__.py
@@ -1,9 +1,6 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 #
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-#
 # Copyright 2019-2021 SkyWater PDK Authors
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/src/BAG_prim/schematic/nmos4_hv.py b/src/BAG_prim/schematic/nmos4_hv.py
index 4edec61..75227ca 100644
--- a/src/BAG_prim/schematic/nmos4_hv.py
+++ b/src/BAG_prim/schematic/nmos4_hv.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 from typing import Any
 
 
diff --git a/src/BAG_prim/schematic/nmos4_hvesd.py b/src/BAG_prim/schematic/nmos4_hvesd.py
index fe7232a..bbc9f14 100644
--- a/src/BAG_prim/schematic/nmos4_hvesd.py
+++ b/src/BAG_prim/schematic/nmos4_hvesd.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 from typing import Any
 
 
diff --git a/src/BAG_prim/schematic/nmos4_lvt.py b/src/BAG_prim/schematic/nmos4_lvt.py
index 7f37621..bedee15 100644
--- a/src/BAG_prim/schematic/nmos4_lvt.py
+++ b/src/BAG_prim/schematic/nmos4_lvt.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 from typing import Any
 
 
diff --git a/src/BAG_prim/schematic/nmos4_standard.py b/src/BAG_prim/schematic/nmos4_standard.py
index 1b22bfe..3ed932b 100644
--- a/src/BAG_prim/schematic/nmos4_standard.py
+++ b/src/BAG_prim/schematic/nmos4_standard.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 from typing import Any
 
 
diff --git a/src/BAG_prim/schematic/nmos4_svt.py b/src/BAG_prim/schematic/nmos4_svt.py
index fe11594..e174e82 100644
--- a/src/BAG_prim/schematic/nmos4_svt.py
+++ b/src/BAG_prim/schematic/nmos4_svt.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 from typing import Any
 
 
diff --git a/src/BAG_prim/schematic/pmos4_hv.py b/src/BAG_prim/schematic/pmos4_hv.py
index 2d97ea7..437df1a 100644
--- a/src/BAG_prim/schematic/pmos4_hv.py
+++ b/src/BAG_prim/schematic/pmos4_hv.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 from typing import Any
 
 
diff --git a/src/BAG_prim/schematic/pmos4_hvesd.py b/src/BAG_prim/schematic/pmos4_hvesd.py
index 9c8fc7c..9a7da7b 100644
--- a/src/BAG_prim/schematic/pmos4_hvesd.py
+++ b/src/BAG_prim/schematic/pmos4_hvesd.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 from typing import Any
 
 
diff --git a/src/BAG_prim/schematic/pmos4_hvt.py b/src/BAG_prim/schematic/pmos4_hvt.py
index 265072d..c7e32a0 100644
--- a/src/BAG_prim/schematic/pmos4_hvt.py
+++ b/src/BAG_prim/schematic/pmos4_hvt.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 from typing import Any
 
 
diff --git a/src/BAG_prim/schematic/pmos4_lvt.py b/src/BAG_prim/schematic/pmos4_lvt.py
index 17e2ca7..73519c8 100644
--- a/src/BAG_prim/schematic/pmos4_lvt.py
+++ b/src/BAG_prim/schematic/pmos4_lvt.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 from typing import Any
 
 
diff --git a/src/BAG_prim/schematic/pmos4_standard.py b/src/BAG_prim/schematic/pmos4_standard.py
index fbe206a..5432df4 100644
--- a/src/BAG_prim/schematic/pmos4_standard.py
+++ b/src/BAG_prim/schematic/pmos4_standard.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 from typing import Any
 
 
diff --git a/src/BAG_prim/schematic/pmos4_svt.py b/src/BAG_prim/schematic/pmos4_svt.py
index 8e8425c..c1ee848 100644
--- a/src/BAG_prim/schematic/pmos4_svt.py
+++ b/src/BAG_prim/schematic/pmos4_svt.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 from typing import Any
 
 
diff --git a/src/templates_skywater130/__init__.py b/src/templates_skywater130/__init__.py
index 1f3ebc0..09d7340 100644
--- a/src/templates_skywater130/__init__.py
+++ b/src/templates_skywater130/__init__.py
@@ -21,6 +21,7 @@
 #
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
+
 import os
 import pkg_resources
 
diff --git a/workspace_setup/.bashrc_bag b/workspace_setup/.bashrc_bag
index 59108c6..414a39c 100644
--- a/workspace_setup/.bashrc_bag
+++ b/workspace_setup/.bashrc_bag
@@ -1,6 +1,8 @@
 #! /usr/bin/env bash
 
+#set directory variables
 export BAG_WORK_DIR=$(pwd)
+#set location of BAG tools
 export BAG_TOOLS_ROOT=/tools/commercial/bcanalog/bag/bag3d0_rhel60_64
 export BAG_FRAMEWORK=${BAG_WORK_DIR}/BAG_framework
 export BAG_TECH_CONFIG_DIR=${BAG_WORK_DIR}/skywater130
@@ -10,9 +12,13 @@
 export PYTHONHASHSEED=0
 # set program locations
 export BAG_PYTHON=${BAG_TOOLS_ROOT}/bin/python3
+export BAG_JUPYTER=${BAG_TOOLS_ROOT}/bin/jupyter-notebook
 
 # set location of BAG configuration file
 export BAG_CONFIG_PATH=${BAG_WORK_DIR}/bag_config.yaml
 
+# change pycharm config file location
+export PYCHARM_PROPERTIES=/scratch/projects/${USER}/pycharm_setup/idea.properties
+
 # setup pybag
 export PYBAG_PYTHON=${BAG_PYTHON}
diff --git a/workspace_setup/bag_submodules.yaml b/workspace_setup/bag_submodules.yaml
index 2e713eb..fcc0320 100644
--- a/workspace_setup/bag_submodules.yaml
+++ b/workspace_setup/bag_submodules.yaml
@@ -19,15 +19,15 @@
 # SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
 
 BAG_framework:
-  url: git@10.8.0.1:bag/BAG_framework.git
-  branch: sim_refactor
+  url: https://github.com/bluecheetah/bag.git
+  branch: master
 bag3_digital:
-  url: git@10.8.0.1:bag/bag3_digital.git
-  branch: sim_refactor
+  url: https://github.com/bluecheetah/bag3_digital.git
+  branch: master
 bag3_testbenches:
-  url: git@10.8.0.1:bag/bag3_testbenches.git
-  branch: sim_refactor
+  url: https://github.com/bluecheetah/bag3_testbenches.git
+  branch: master
 xbase_bcad:
-  url: git@10.8.0.1:bag/xbase_bcad.git
-  branch: sim_refactor
+  url: https://github.com/bluecheetah/xbase.git
+  branch: master
 
diff --git a/workspace_setup/leBindKeys.il b/workspace_setup/leBindKeys.il
index 701d345..e3cf06c 100644
--- a/workspace_setup/leBindKeys.il
+++ b/workspace_setup/leBindKeys.il
@@ -1,3 +1,23 @@
+;; Copyright 2019-2021 SkyWater PDK Authors
+;;
+;; 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
+;;
+;;     https://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.
+;;
+;; This code is *alternatively* available under a BSD-3-Clause license, see
+;; details in the README.md at the top level and the license text at
+;; https://github.com/google/skywater-pdk-libs-sky130_bag3_pr/blob/master/LICENSE.alternative
+;;
+;; SPDX-License-Identifier: BSD-3-Clause OR Apache 2.0
+
 ;;-----------------------------------------------------------------------------
 ;; Bindkeys for 'Layout'
 ;; Inherited by:
@@ -75,7 +95,6 @@
             sprintf(via_name "via%d" bot_layer)
         )
 	    sprintf(top_name "met%d" bot_layer + 1)
-	
         leSetEntryLayer(list(bot_name "drawing"))
         leSetAllLayerVisible(nil)
         leSetLayerVisible(list(bot_name "drawing") t)
