diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..a31be73
--- /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 57ffafd..3ed8d53 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 3b06a7d..ce055b4 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 dfedeaf..e5a6e3a 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 af12e06..8e6780b 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 bbc525e..cb2b88b 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 c7f21f5..53e4fdb 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 b1be41a..f8a185f 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 1a0ea15..3649fdd 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 1683afb..9bbd813 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 15e9482..e0aed54 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 a111fe1..5d4c11c 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 75e4b4c..d68f2f0 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 254d29b..2734f53 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 ec10cec..670208b 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 6801ade..c66230f 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 a31d99c..91496e0 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 bccc796..92901a6 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 6a6d73c..7f29f38 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 aa5c26e..6b024b8 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 cfbd8d2..3901667 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 d9fd674..5281aeb 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 8fcc24b..4a2cdba 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 1750570..deac59e 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 238c82b..dd8783d 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 d3c0760..c724f0c 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 1594a04..e6829a1 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 0de3ea3..7671d2c 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 be35260..d3854d5 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 59e2a0f..73d38d8 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 9fa2010..32a4fc9 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 191c76d..f15fe4b 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 dfddc30..c659b30 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 6e1102f..3d85c6a 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 b6310e7..8a9149d 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 5ffd699..9903d63 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 7c996e4..50a43ed 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 30d4b9a..5e18760 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 be52ba2..ded6e24 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 9990c06..441bf0d 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 bd61daa..9ce3399 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 4145dde..448d8dd 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 99377da..043cb3c 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 a5851ae..ea3aa9c 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 144e8af..c85674b 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 6a29659..da2b588 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 95c6dfc..c103ab9 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 c99c8f9..91c65d2 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.