diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00000000..a31be731
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2022 Espresso Systems (espressosys.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file
diff --git a/arithmetic/benches/bench.rs b/arithmetic/benches/bench.rs
index 57ffafdb..3ed8d539 100644
--- a/arithmetic/benches/bench.rs
+++ b/arithmetic/benches/bench.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
#[macro_use]
extern crate criterion;
diff --git a/arithmetic/src/errors.rs b/arithmetic/src/errors.rs
index 3b06a7d6..ce055b48 100644
--- a/arithmetic/src/errors.rs
+++ b/arithmetic/src/errors.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Error module.
use ark_std::string::String;
diff --git a/arithmetic/src/lib.rs b/arithmetic/src/lib.rs
index dfedeafd..e5a6e3a1 100644
--- a/arithmetic/src/lib.rs
+++ b/arithmetic/src/lib.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
mod errors;
mod multilinear_polynomial;
mod univariate_polynomial;
diff --git a/arithmetic/src/multilinear_polynomial.rs b/arithmetic/src/multilinear_polynomial.rs
index af12e063..8e6780bd 100644
--- a/arithmetic/src/multilinear_polynomial.rs
+++ b/arithmetic/src/multilinear_polynomial.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use crate::{util::get_batched_nv, ArithErrors};
use ark_ff::{Field, PrimeField};
use ark_poly::MultilinearExtension;
diff --git a/arithmetic/src/univariate_polynomial.rs b/arithmetic/src/univariate_polynomial.rs
index bbc525eb..cb2b88ba 100644
--- a/arithmetic/src/univariate_polynomial.rs
+++ b/arithmetic/src/univariate_polynomial.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
// TODO: remove
#![allow(dead_code)]
diff --git a/arithmetic/src/util.rs b/arithmetic/src/util.rs
index c7f21f55..53e4fdbf 100644
--- a/arithmetic/src/util.rs
+++ b/arithmetic/src/util.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use ark_ff::PrimeField;
use ark_std::log2;
diff --git a/arithmetic/src/virtual_polynomial.rs b/arithmetic/src/virtual_polynomial.rs
index b1be41ad..f8a185fc 100644
--- a/arithmetic/src/virtual_polynomial.rs
+++ b/arithmetic/src/virtual_polynomial.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! This module defines our main mathematical object `VirtualPolynomial`; and
//! various functions associated with it.
diff --git a/hyperplonk/benches/bench.rs b/hyperplonk/benches/bench.rs
index 1a0ea158..3649fddb 100644
--- a/hyperplonk/benches/bench.rs
+++ b/hyperplonk/benches/bench.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use std::{fs::File, io, time::Instant};
use ark_bls12_381::{Bls12_381, Fr};
diff --git a/hyperplonk/src/custom_gate.rs b/hyperplonk/src/custom_gate.rs
index 1683afb1..9bbd8132 100644
--- a/hyperplonk/src/custom_gate.rs
+++ b/hyperplonk/src/custom_gate.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use ark_std::cmp::max;
/// Customized gate is a list of tuples of
diff --git a/hyperplonk/src/errors.rs b/hyperplonk/src/errors.rs
index 15e94823..e0aed540 100644
--- a/hyperplonk/src/errors.rs
+++ b/hyperplonk/src/errors.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Error module.
use arithmetic::ArithErrors;
diff --git a/hyperplonk/src/lib.rs b/hyperplonk/src/lib.rs
index a111fe11..5d4c11c9 100644
--- a/hyperplonk/src/lib.rs
+++ b/hyperplonk/src/lib.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Main module for the HyperPlonk SNARK.
use ark_ec::PairingEngine;
diff --git a/hyperplonk/src/mock.rs b/hyperplonk/src/mock.rs
index 75e4b4c1..d68f2f0d 100644
--- a/hyperplonk/src/mock.rs
+++ b/hyperplonk/src/mock.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use arithmetic::identity_permutation;
use ark_ff::PrimeField;
use ark_std::{log2, test_rng};
diff --git a/hyperplonk/src/prelude.rs b/hyperplonk/src/prelude.rs
index 254d29b8..2734f538 100644
--- a/hyperplonk/src/prelude.rs
+++ b/hyperplonk/src/prelude.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
pub use crate::{
custom_gate::CustomizedGates, errors::HyperPlonkErrors, mock::MockCircuit,
selectors::SelectorColumn, witness::WitnessColumn, HyperPlonkSNARK,
diff --git a/hyperplonk/src/selectors.rs b/hyperplonk/src/selectors.rs
index ec10cec0..670208bf 100644
--- a/hyperplonk/src/selectors.rs
+++ b/hyperplonk/src/selectors.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use crate::{build_mle, errors::HyperPlonkErrors};
use ark_ff::PrimeField;
use ark_poly::DenseMultilinearExtension;
diff --git a/hyperplonk/src/snark.rs b/hyperplonk/src/snark.rs
index 6801adeb..c66230fd 100644
--- a/hyperplonk/src/snark.rs
+++ b/hyperplonk/src/snark.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use crate::{
errors::HyperPlonkErrors,
structs::{HyperPlonkIndex, HyperPlonkProof, HyperPlonkProvingKey, HyperPlonkVerifyingKey},
diff --git a/hyperplonk/src/structs.rs b/hyperplonk/src/structs.rs
index a31d99c1..91496e08 100644
--- a/hyperplonk/src/structs.rs
+++ b/hyperplonk/src/structs.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Main module for the HyperPlonk PolyIOP.
use crate::{custom_gate::CustomizedGates, prelude::HyperPlonkErrors, selectors::SelectorColumn};
diff --git a/hyperplonk/src/utils.rs b/hyperplonk/src/utils.rs
index bccc7961..92901a65 100644
--- a/hyperplonk/src/utils.rs
+++ b/hyperplonk/src/utils.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use crate::{
custom_gate::CustomizedGates, errors::HyperPlonkErrors, structs::HyperPlonkParams,
witness::WitnessColumn,
diff --git a/hyperplonk/src/witness.rs b/hyperplonk/src/witness.rs
index 6a6d73c6..7f29f38c 100644
--- a/hyperplonk/src/witness.rs
+++ b/hyperplonk/src/witness.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use crate::{build_mle, errors::HyperPlonkErrors};
use ark_ff::PrimeField;
use ark_poly::DenseMultilinearExtension;
diff --git a/subroutines/benches/iop_bench.rs b/subroutines/benches/iop_bench.rs
index aa5c26e5..6b024b8d 100644
--- a/subroutines/benches/iop_bench.rs
+++ b/subroutines/benches/iop_bench.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use arithmetic::{identity_permutation_mles, VPAuxInfo, VirtualPolynomial};
use ark_bls12_381::{Bls12_381, Fr};
use ark_poly::{DenseMultilinearExtension, MultilinearExtension};
diff --git a/subroutines/benches/pcs_bench.rs b/subroutines/benches/pcs_bench.rs
index cfbd8d29..3901667c 100644
--- a/subroutines/benches/pcs_bench.rs
+++ b/subroutines/benches/pcs_bench.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use ark_bls12_381::{Bls12_381, Fr};
use ark_ff::UniformRand;
use ark_poly::{DenseMultilinearExtension, MultilinearExtension};
diff --git a/subroutines/src/lib.rs b/subroutines/src/lib.rs
index d9fd674c..5281aeba 100644
--- a/subroutines/src/lib.rs
+++ b/subroutines/src/lib.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
pub mod pcs;
pub mod poly_iop;
diff --git a/subroutines/src/pcs/errors.rs b/subroutines/src/pcs/errors.rs
index 8fcc24bc..4a2cdba7 100644
--- a/subroutines/src/pcs/errors.rs
+++ b/subroutines/src/pcs/errors.rs
@@ -1,8 +1,8 @@
-// Copyright (c) 2022 Espresso Systems (espressosys.com)
-// This file is part of the Jellyfish library.
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
// You should have received a copy of the MIT License
-// along with the Jellyfish library. If not, see .
+// along with the HyperPlonk library. If not, see .
//! Error module.
diff --git a/subroutines/src/pcs/mod.rs b/subroutines/src/pcs/mod.rs
index 17505708..deac59ed 100644
--- a/subroutines/src/pcs/mod.rs
+++ b/subroutines/src/pcs/mod.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
mod errors;
mod multilinear_kzg;
mod structs;
diff --git a/subroutines/src/pcs/multilinear_kzg/batching.rs b/subroutines/src/pcs/multilinear_kzg/batching.rs
index 238c82b6..dd8783d0 100644
--- a/subroutines/src/pcs/multilinear_kzg/batching.rs
+++ b/subroutines/src/pcs/multilinear_kzg/batching.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Sumcheck based batch opening and verify commitment.
// TODO: refactoring this code to somewhere else
// currently IOP depends on PCS because perm check requires commitment.
diff --git a/subroutines/src/pcs/multilinear_kzg/mod.rs b/subroutines/src/pcs/multilinear_kzg/mod.rs
index d3c07605..c724f0c7 100644
--- a/subroutines/src/pcs/multilinear_kzg/mod.rs
+++ b/subroutines/src/pcs/multilinear_kzg/mod.rs
@@ -1,8 +1,8 @@
-// Copyright (c) 2022 Espresso Systems (espressosys.com)
-// This file is part of the Jellyfish library.
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
// You should have received a copy of the MIT License
-// along with the Jellyfish library. If not, see .
+// along with the HyperPlonk library. If not, see .
//! Main module for multilinear KZG commitment scheme
diff --git a/subroutines/src/pcs/multilinear_kzg/srs.rs b/subroutines/src/pcs/multilinear_kzg/srs.rs
index 1594a040..e6829a1f 100644
--- a/subroutines/src/pcs/multilinear_kzg/srs.rs
+++ b/subroutines/src/pcs/multilinear_kzg/srs.rs
@@ -1,8 +1,8 @@
-// Copyright (c) 2022 Espresso Systems (espressosys.com)
-// This file is part of the Jellyfish library.
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
// You should have received a copy of the MIT License
-// along with the Jellyfish library. If not, see .
+// along with the HyperPlonk library. If not, see .
//! Implementing Structured Reference Strings for multilinear polynomial KZG
use crate::pcs::{
diff --git a/subroutines/src/pcs/multilinear_kzg/util.rs b/subroutines/src/pcs/multilinear_kzg/util.rs
index 0de3ea3c..7671d2cd 100644
--- a/subroutines/src/pcs/multilinear_kzg/util.rs
+++ b/subroutines/src/pcs/multilinear_kzg/util.rs
@@ -1,8 +1,8 @@
-// Copyright (c) 2022 Espresso Systems (espressosys.com)
-// This file is part of the Jellyfish library.
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
// You should have received a copy of the MIT License
-// along with the Jellyfish library. If not, see .
+// along with the HyperPlonk library. If not, see .
//! Useful utilities for KZG PCS
use ark_ff::PrimeField;
diff --git a/subroutines/src/pcs/prelude.rs b/subroutines/src/pcs/prelude.rs
index be352608..d3854d55 100644
--- a/subroutines/src/pcs/prelude.rs
+++ b/subroutines/src/pcs/prelude.rs
@@ -1,8 +1,8 @@
-// Copyright (c) 2022 Espresso Systems (espressosys.com)
-// This file is part of the Jellyfish library.
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
// You should have received a copy of the MIT License
-// along with the Jellyfish library. If not, see .
+// along with the HyperPlonk library. If not, see .
//! Prelude
pub use crate::pcs::{
diff --git a/subroutines/src/pcs/structs.rs b/subroutines/src/pcs/structs.rs
index 59e2a0f8..73d38d84 100644
--- a/subroutines/src/pcs/structs.rs
+++ b/subroutines/src/pcs/structs.rs
@@ -1,8 +1,8 @@
-// Copyright (c) 2022 Espresso Systems (espressosys.com)
-// This file is part of the Jellyfish library.
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
// You should have received a copy of the MIT License
-// along with the Jellyfish library. If not, see .
+// along with the HyperPlonk library. If not, see .
use ark_ec::PairingEngine;
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize, Read, SerializationError, Write};
diff --git a/subroutines/src/pcs/univariate_kzg/mod.rs b/subroutines/src/pcs/univariate_kzg/mod.rs
index 9fa2010e..32a4fc95 100644
--- a/subroutines/src/pcs/univariate_kzg/mod.rs
+++ b/subroutines/src/pcs/univariate_kzg/mod.rs
@@ -1,8 +1,8 @@
-// Copyright (c) 2022 Espresso Systems (espressosys.com)
-// This file is part of the Jellyfish library.
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
// You should have received a copy of the MIT License
-// along with the Jellyfish library. If not, see .
+// along with the HyperPlonk library. If not, see .
//! Main module for univariate KZG commitment scheme
diff --git a/subroutines/src/pcs/univariate_kzg/srs.rs b/subroutines/src/pcs/univariate_kzg/srs.rs
index 191c76dd..f15fe4b1 100644
--- a/subroutines/src/pcs/univariate_kzg/srs.rs
+++ b/subroutines/src/pcs/univariate_kzg/srs.rs
@@ -1,8 +1,8 @@
-// Copyright (c) 2022 Espresso Systems (espressosys.com)
-// This file is part of the Jellyfish library.
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
// You should have received a copy of the MIT License
-// along with the Jellyfish library. If not, see .
+// along with the HyperPlonk library. If not, see .
//! Implementing Structured Reference Strings for univariate polynomial KZG
diff --git a/subroutines/src/poly_iop/errors.rs b/subroutines/src/poly_iop/errors.rs
index dfddc30c..c659b30e 100644
--- a/subroutines/src/poly_iop/errors.rs
+++ b/subroutines/src/poly_iop/errors.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Error module.
use crate::pcs::prelude::PCSError;
diff --git a/subroutines/src/poly_iop/mod.rs b/subroutines/src/poly_iop/mod.rs
index 6e1102f6..3d85c6ad 100644
--- a/subroutines/src/poly_iop/mod.rs
+++ b/subroutines/src/poly_iop/mod.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
use ark_ff::PrimeField;
use std::marker::PhantomData;
diff --git a/subroutines/src/poly_iop/perm_check/mod.rs b/subroutines/src/poly_iop/perm_check/mod.rs
index b6310e73..8a9149df 100644
--- a/subroutines/src/poly_iop/perm_check/mod.rs
+++ b/subroutines/src/poly_iop/perm_check/mod.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Main module for the Permutation Check protocol
use self::util::computer_nums_and_denoms;
diff --git a/subroutines/src/poly_iop/perm_check/util.rs b/subroutines/src/poly_iop/perm_check/util.rs
index 5ffd699b..9903d63c 100644
--- a/subroutines/src/poly_iop/perm_check/util.rs
+++ b/subroutines/src/poly_iop/perm_check/util.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! This module implements useful functions for the permutation check protocol.
use crate::poly_iop::errors::PolyIOPErrors;
diff --git a/subroutines/src/poly_iop/prelude.rs b/subroutines/src/poly_iop/prelude.rs
index 7c996e4d..50a43edf 100644
--- a/subroutines/src/poly_iop/prelude.rs
+++ b/subroutines/src/poly_iop/prelude.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
pub use crate::poly_iop::{
errors::PolyIOPErrors, perm_check::PermutationCheck, prod_check::ProductCheck,
structs::IOPProof, sum_check::SumCheck, utils::*, zero_check::ZeroCheck, PolyIOP,
diff --git a/subroutines/src/poly_iop/prod_check/mod.rs b/subroutines/src/poly_iop/prod_check/mod.rs
index 30d4b9ac..5e187600 100644
--- a/subroutines/src/poly_iop/prod_check/mod.rs
+++ b/subroutines/src/poly_iop/prod_check/mod.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Main module for the Product Check protocol
use crate::{
diff --git a/subroutines/src/poly_iop/prod_check/util.rs b/subroutines/src/poly_iop/prod_check/util.rs
index be52ba29..ded6e24c 100644
--- a/subroutines/src/poly_iop/prod_check/util.rs
+++ b/subroutines/src/poly_iop/prod_check/util.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! This module implements useful functions for the product check protocol.
use crate::poly_iop::{errors::PolyIOPErrors, structs::IOPProof, zero_check::ZeroCheck, PolyIOP};
diff --git a/subroutines/src/poly_iop/structs.rs b/subroutines/src/poly_iop/structs.rs
index 9990c064..441bf0da 100644
--- a/subroutines/src/poly_iop/structs.rs
+++ b/subroutines/src/poly_iop/structs.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! This module defines structs that are shared by all sub protocols.
use arithmetic::VirtualPolynomial;
diff --git a/subroutines/src/poly_iop/sum_check/mod.rs b/subroutines/src/poly_iop/sum_check/mod.rs
index bd61daa9..9ce3399d 100644
--- a/subroutines/src/poly_iop/sum_check/mod.rs
+++ b/subroutines/src/poly_iop/sum_check/mod.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! This module implements the sum check protocol.
use crate::poly_iop::{
diff --git a/subroutines/src/poly_iop/sum_check/prover.rs b/subroutines/src/poly_iop/sum_check/prover.rs
index 4145ddec..448d8dd5 100644
--- a/subroutines/src/poly_iop/sum_check/prover.rs
+++ b/subroutines/src/poly_iop/sum_check/prover.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Prover subroutines for a SumCheck protocol.
use super::SumCheckProver;
diff --git a/subroutines/src/poly_iop/sum_check/verifier.rs b/subroutines/src/poly_iop/sum_check/verifier.rs
index 99377da2..043cb3c7 100644
--- a/subroutines/src/poly_iop/sum_check/verifier.rs
+++ b/subroutines/src/poly_iop/sum_check/verifier.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Verifier subroutines for a SumCheck protocol.
use super::{SumCheckSubClaim, SumCheckVerifier};
diff --git a/subroutines/src/poly_iop/utils.rs b/subroutines/src/poly_iop/utils.rs
index a5851ae4..ea3aa9c9 100644
--- a/subroutines/src/poly_iop/utils.rs
+++ b/subroutines/src/poly_iop/utils.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! useful macros.
/// Takes as input a struct, and converts them to a series of bytes. All traits
diff --git a/subroutines/src/poly_iop/zero_check/mod.rs b/subroutines/src/poly_iop/zero_check/mod.rs
index 144e8af2..c85674b3 100644
--- a/subroutines/src/poly_iop/zero_check/mod.rs
+++ b/subroutines/src/poly_iop/zero_check/mod.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Main module for the ZeroCheck protocol.
use std::fmt::Debug;
diff --git a/transcript/src/errors.rs b/transcript/src/errors.rs
index 6a296594..da2b5888 100644
--- a/transcript/src/errors.rs
+++ b/transcript/src/errors.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Error module.
use ark_std::string::String;
diff --git a/transcript/src/lib.rs b/transcript/src/lib.rs
index 95c6dfc0..c103ab9d 100644
--- a/transcript/src/lib.rs
+++ b/transcript/src/lib.rs
@@ -1,3 +1,9 @@
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
+// You should have received a copy of the MIT License
+// along with the HyperPlonk library. If not, see .
+
//! Module for PolyIOP transcript.
//! TODO(ZZ): move this module to HyperPlonk where the transcript will also be
//! useful.
diff --git a/util/src/lib.rs b/util/src/lib.rs
index c99c8f98..91c65d2d 100644
--- a/util/src/lib.rs
+++ b/util/src/lib.rs
@@ -1,7 +1,8 @@
-// Copyright (c) 2022 Espresso Systems (espressosys.com)
-// This file is part of the Jellyfish library.
+// Copyright (c) 2023 Espresso Systems (espressosys.com)
+// This file is part of the HyperPlonk library.
+
// You should have received a copy of the MIT License
-// along with the Jellyfish library. If not, see .
+// along with the HyperPlonk library. If not, see .
//! Utilities for parallel code.