diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/code-challenge-2024-obamwonyi.iml b/.idea/code-challenge-2024-obamwonyi.iml
new file mode 100644
index 0000000..d0876a7
--- /dev/null
+++ b/.idea/code-challenge-2024-obamwonyi.iml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/material_theme_project_new.xml b/.idea/material_theme_project_new.xml
new file mode 100644
index 0000000..5e775e9
--- /dev/null
+++ b/.idea/material_theme_project_new.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..9de2865
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..29ab491
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SOLUTION.md b/SOLUTION.md
new file mode 100644
index 0000000..e69de29
diff --git a/src/__init__.py b/src/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/src/block.py b/src/block.py
new file mode 100644
index 0000000..d241aaf
--- /dev/null
+++ b/src/block.py
@@ -0,0 +1 @@
+# for creating and managing blocks
diff --git a/src/mining.py b/src/mining.py
new file mode 100644
index 0000000..9913791
--- /dev/null
+++ b/src/mining.py
@@ -0,0 +1 @@
+# for mining new blocks
\ No newline at end of file
diff --git a/src/transaction.py b/src/transaction.py
new file mode 100644
index 0000000..af84905
--- /dev/null
+++ b/src/transaction.py
@@ -0,0 +1 @@
+# for managing transactions
\ No newline at end of file
diff --git a/src/utils.py b/src/utils.py
new file mode 100644
index 0000000..c400ae9
--- /dev/null
+++ b/src/utils.py
@@ -0,0 +1 @@
+# for utilities
\ No newline at end of file
diff --git a/src/validation.py b/src/validation.py
new file mode 100644
index 0000000..0f00515
--- /dev/null
+++ b/src/validation.py
@@ -0,0 +1 @@
+# for handling validations
\ No newline at end of file
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tests/test_block.py b/tests/test_block.py
new file mode 100644
index 0000000..e69de29
diff --git a/tests/test_mining.py b/tests/test_mining.py
new file mode 100644
index 0000000..e69de29
diff --git a/tests/test_transaction.py b/tests/test_transaction.py
new file mode 100644
index 0000000..e69de29
diff --git a/tests/test_validation.py b/tests/test_validation.py
new file mode 100644
index 0000000..e69de29