diff --git a/.gitignore b/.gitignore
index 1a35978d09fa9c6800e63f961d780288fc3fbd33..c05341336c8b4787ab1ee183d2a58d5c40ddb6e3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@ venv
 .idea
 *.log
 example/bin
+contracts/out
diff --git a/contracts/foundry.toml b/contracts/foundry.toml
new file mode 100644
index 0000000000000000000000000000000000000000..679ba740bf460a4ee347c13111d6257d902d30a2
--- /dev/null
+++ b/contracts/foundry.toml
@@ -0,0 +1,11 @@
+# Config Reference: https://github.com/foundry-rs/foundry/tree/master/config
+
+[profile.default]
+src = 'src'
+out = 'out'
+libs = []
+ffi = false
+fs_permissions = []
+
+[fmt]
+bracket_spacing = true
diff --git a/contracts/Challenge.sol b/contracts/src/Challenge.sol
similarity index 100%
rename from contracts/Challenge.sol
rename to contracts/src/Challenge.sol
diff --git a/contracts/MIPS.sol b/contracts/src/MIPS.sol
similarity index 100%
rename from contracts/MIPS.sol
rename to contracts/src/MIPS.sol
diff --git a/contracts/MIPSMemory.sol b/contracts/src/MIPSMemory.sol
similarity index 100%
rename from contracts/MIPSMemory.sol
rename to contracts/src/MIPSMemory.sol
diff --git a/contracts/lib/Lib_BytesUtils.sol b/contracts/src/lib/Lib_BytesUtils.sol
similarity index 100%
rename from contracts/lib/Lib_BytesUtils.sol
rename to contracts/src/lib/Lib_BytesUtils.sol
diff --git a/contracts/lib/Lib_Keccak256.sol b/contracts/src/lib/Lib_Keccak256.sol
similarity index 100%
rename from contracts/lib/Lib_Keccak256.sol
rename to contracts/src/lib/Lib_Keccak256.sol
diff --git a/contracts/lib/Lib_MerkleTrie.sol b/contracts/src/lib/Lib_MerkleTrie.sol
similarity index 100%
rename from contracts/lib/Lib_MerkleTrie.sol
rename to contracts/src/lib/Lib_MerkleTrie.sol
diff --git a/contracts/lib/Lib_RLPReader.sol b/contracts/src/lib/Lib_RLPReader.sol
similarity index 100%
rename from contracts/lib/Lib_RLPReader.sol
rename to contracts/src/lib/Lib_RLPReader.sol
diff --git a/contracts/lib/Lib_RLPWriter.sol b/contracts/src/lib/Lib_RLPWriter.sol
similarity index 100%
rename from contracts/lib/Lib_RLPWriter.sol
rename to contracts/src/lib/Lib_RLPWriter.sol