Repository: feagi/feagi (language: python)

Issue:
Updates versions along with new changes
This PR syncs with latest Neuraville Inc. development code.
Updates from Neuraville Inc
This PR syncs with latest Neuraville Inc. development code.
FEAGI often returns 500 when doing multi-cortical area editing
second half of the issue referred to in https://github.com/feagi/brain-visualizer/issues/285


Discussion / hints:

Fix patch:
diff --git a/README.md b/README.md
index 20395083e..4b037f75d 100644
--- a/README.md
+++ b/README.md
@@ -125,3 +125,28 @@ Here is a list of terminologies and common terms used throughout the documentati
 
 **Neuron Processing Unit (NPU)**
 * A software program designed to process all the operations associated with neuron firing across the entire connectome
+
+
+## Citation
+
+If you use MuJoCo for published research, please cite:
+
+```
+@ARTICLE{9034490,
+  author={Nadji-Tehrani, Mohammad and Eslami, Ali},
+  journal={IEEE Transactions on Neural Networks and Learning Systems}, 
+  title={A Brain-Inspired Framework for Evolutionary Artificial General Intelligence}, 
+  year={2020},
+  volume={31},
+  number={12},
+  pages={5257-5271},
+  keywords={Neural networks;Brain modeling;Genetic programming;Character recognition;Artificial intelligence;Artificial general intelligence;evolutionary algorithms;genetic programming;indirect encoding;spiking neural networks},
+  doi={10.1109/TNNLS.2020.2965567}}
+```
+
+## License and Disclaimer
+
+Copyright 2024 Neuraville Inc.
+
+Source code is licensed under the Apache License, Version 2.0. You may obtain a
+copy of the License at https://www.apache.org/licenses/LICENSE-2.0.
diff --git a/requirements.txt b/requirements.txt
index 1939d9d12..49da7134c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,7 +8,7 @@ uvicorn==0.17.5
 fastapi==0.95.2
 pydantic==1.10.11
 python-multipart==0.0.5
-starlette~=0.17.1
+starlette~=0.27.0
 requests~=2.27.1
 setuptools~=57.0.0
 websockets~=10.2
diff --git a/src/api/api.py b/src/api/api.py
index 47f0f4550..f0fc955c8 100644
--- a/src/api/api.py
+++ b/src/api/api.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/commons.py b/src/api/commons.py
index e6b175141..105b75a6e 100644
--- a/src/api/commons.py
+++ b/src/api/commons.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/config.py b/src/api/config.py
index 5afdb62e7..0db1376a1 100644
--- a/src/api/config.py
+++ b/src/api/config.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -16,7 +17,6 @@
 import os
 from pydantic import BaseSettings
 
-print("$$$$ 1")
 env_ip = os.getenv("ip_server")
 if not env_ip:
     env_ip = "placeholder"
diff --git a/src/api/dependencies.py b/src/api/dependencies.py
index 489328ffc..f930c8626 100644
--- a/src/api/dependencies.py
+++ b/src/api/dependencies.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/error_handling.py b/src/api/error_handling.py
index 621c03b0d..3a4f4a916 100644
--- a/src/api/error_handling.py
+++ b/src/api/error_handling.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/message_processor.py b/src/api/message_processor.py
index ab09b82de..cc17ce839 100644
--- a/src/api/message_processor.py
+++ b/src/api/message_processor.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2023 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -253,24 +254,30 @@ def api_message_processor(api_message):
         if agent_capabilities:
             dev_list = {}
             for device_type in agent_capabilities:
-                for device_name in agent_capabilities[device_type]:
-                    dev_count = 0
-                    for _ in agent_capabilities[device_type][device_name]:
-                        dev_count += 1
-
-                    cortical_type = "unknown"
+                cortical_type = "unknown"
 
-                    if device_type in ["input", "inputs"]:
-                        cortical_type = "IPU"
+                if device_type in ["input", "inputs"]:
+                    cortical_type = "IPU"
 
-                    if device_type == ["output", "outputs"]:
-                        cortical_type = "OPU"
+                if device_type in ["output", "outputs"]:
+                    cortical_type = "OPU"
 
+                for device_name in agent_capabilities[device_type]:
                     if cortical_type in ["IPU", "OPU"]:
                         if device_name in cortical_types[cortical_type]["name_to_id_mapping"]:
+
+                            max_feagi_index = 0
+                            for _ in agent_capabilities[device_type][device_name]:
+                                device_is_active = not agent_capabilities[device_type][device_name][_].get("disabled",
+                                                                                                           False)
+                                if device_is_active:
+                                    feagi_index = agent_capabilities[device_type][device_name][_].get("feagi_index", 0)
+                                    if int(feagi_index) > max_feagi_index:
+                                        max_feagi_index = int(feagi_index)
+
                             for cortical_id in cortical_types[cortical_type]["name_to_id_mapping"][device_name]:
-                                dev_list[cortical_id] = {"dev_count": dev_count}
+                                dev_list[cortical_id] = {"max_feagi_index": max_feagi_index}
                     else:
-                        print(f"Device name {device_name} is not defined in FEAGI templates!")
+                        print(f"Device name {device_name} has invalid type {device_type}!")
 
             create_missing_pns_areas(dev_list=dev_list)
diff --git a/src/api/models.py b/src/api/models.py
index ed71d0b0a..f1fcf3a45 100644
--- a/src/api/models.py
+++ b/src/api/models.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/burst_engine.py b/src/api/routers/v1/burst_engine.py
index 6495c2757..526083b22 100644
--- a/src/api/routers/v1/burst_engine.py
+++ b/src/api/routers/v1/burst_engine.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/connectome.py b/src/api/routers/v1/connectome.py
index 74680261c..dde1afa53 100644
--- a/src/api/routers/v1/connectome.py
+++ b/src/api/routers/v1/connectome.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/cortical_area.py b/src/api/routers/v1/cortical_area.py
index 99ef28906..89b273f13 100644
--- a/src/api/routers/v1/cortical_area.py
+++ b/src/api/routers/v1/cortical_area.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -128,9 +129,9 @@ async def fetch_cortical_properties(cortical_id: CorticalId):
 
                 unit_dim_x = int(dim_x / dev_count)
 
-                unit_dim_y = int(dim_y / dev_count)
+                unit_dim_y = dim_y
 
-                unit_dim_z = int(dim_z / dev_count)
+                unit_dim_z = dim_z
 
                 cortical_properties["dev_count"] = dev_count
                 cortical_properties["cortical_dimensions_per_device"] = [unit_dim_x, unit_dim_y, unit_dim_z]
@@ -517,6 +518,17 @@ async def fetch_multiple_cortical_properties(cortical_id_list: CorticalIdList):
                     "neuron_excitability": cortical_data['neuron_excitability'],
                     "transforming": False
                 }
+
+                cortical_type = cortical_area_type(cortical_area=cortical_area)
+                if cortical_type in ["IPU", "OPU"]:
+                    dev_count = runtime_data.genome["blueprint"][cortical_area]["dev_count"]
+                    unit_dim_x = cortical_types[cortical_type]["supported_devices"][cortical_area]["resolution"][0]
+                    unit_dim_y = cortical_types[cortical_type]["supported_devices"][cortical_area]["resolution"][1]
+                    unit_dim_z = cortical_types[cortical_type]["supported_devices"][cortical_area]["resolution"][2]
+
+                    cortical_properties["dev_count"] = dev_count
+                    cortical_properties["cortical_dimensions_per_device"] = [unit_dim_x, unit_dim_y, unit_dim_z]
+
                 if cortical_area in runtime_data.transforming_areas:
                     cortical_properties["transforming"] = True
                 else:
diff --git a/src/api/routers/v1/cortical_mapping.py b/src/api/routers/v1/cortical_mapping.py
index 42be15126..04d15b6e6 100644
--- a/src/api/routers/v1/cortical_mapping.py
+++ b/src/api/routers/v1/cortical_mapping.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/evolution.py b/src/api/routers/v1/evolution.py
index d56b34a98..b22e74a70 100644
--- a/src/api/routers/v1/evolution.py
+++ b/src/api/routers/v1/evolution.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/feagi_agent.py b/src/api/routers/v1/feagi_agent.py
index b71d65462..065c1ddc8 100644
--- a/src/api/routers/v1/feagi_agent.py
+++ b/src/api/routers/v1/feagi_agent.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -102,18 +103,17 @@ async def agent_registration(request: Request, data: AgentRegistration):
         agent_info["controller_version"] = data.controller_version
         agent_info["capabilities"] = capabilities
 
-    print(f"AGENT Details -- {agent_info}")
     runtime_data.agent_registry[data.agent_id] = agent_info
     runtime_data.host_info[data.agent_id] = agent_info
 
     if runtime_data.auto_pns_area_creation and runtime_data.genome:
-        print("@@@@  Auto generation of IPU/OPU areas has been initiated @@@")
-        print("#### Capabilities:", capabilities)
         message = {'update_pns_areas': capabilities}
-        print("*-----* " * 200 + "\n", message)
         api_queue.put(item=message)
 
     print("New agent has been successfully registered:", runtime_data.agent_registry[data.agent_id])
+
+    runtime_data.evo_change_register["agent"] += 1
+
     agent_info = runtime_data.agent_registry[data.agent_id].copy()
     agent_info.pop('listener')
     return agent_info
diff --git a/src/api/routers/v1/genome.py b/src/api/routers/v1/genome.py
index 9fc42714f..775a5a836 100644
--- a/src/api/routers/v1/genome.py
+++ b/src/api/routers/v1/genome.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/insights.py b/src/api/routers/v1/insights.py
index 548d4dfce..37c215efb 100644
--- a/src/api/routers/v1/insights.py
+++ b/src/api/routers/v1/insights.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/morphology.py b/src/api/routers/v1/morphology.py
index 3fc99bd38..97ea51ea3 100644
--- a/src/api/routers/v1/morphology.py
+++ b/src/api/routers/v1/morphology.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/network.py b/src/api/routers/v1/network.py
index 7050eb4c3..6dfc361d7 100644
--- a/src/api/routers/v1/network.py
+++ b/src/api/routers/v1/network.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/neuroplasticity.py b/src/api/routers/v1/neuroplasticity.py
index 4c61e81c6..45fe68333 100644
--- a/src/api/routers/v1/neuroplasticity.py
+++ b/src/api/routers/v1/neuroplasticity.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/region.py b/src/api/routers/v1/region.py
index bc2342eb3..2712fe150 100644
--- a/src/api/routers/v1/region.py
+++ b/src/api/routers/v1/region.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/simulation.py b/src/api/routers/v1/simulation.py
index 5ebb70613..1af18f7ad 100644
--- a/src/api/routers/v1/simulation.py
+++ b/src/api/routers/v1/simulation.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/routers/v1/system.py b/src/api/routers/v1/system.py
index e4da03a62..56ddb7f5b 100644
--- a/src/api/routers/v1/system.py
+++ b/src/api/routers/v1/system.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -230,3 +231,15 @@ async def update_cortical_area_visualization_suppression_threshold(visualization
     if visualization_threshold.visualization_threshold < 0:
         raise HTTPException(status_code=400, detail=f"Suppression threshold cannot be negative.")
     runtime_data.cortical_viz_sup_threshold = visualization_threshold.visualization_threshold
+
+
+@router.get("/global_activity_visualization")
+async def fetch_cortical_area_visualization_globally():
+    """Returns the brain activity visualization status across the entire brain."""
+    return runtime_data.brain_activity_pub
+
+
+@router.put("/global_activity_visualization")
+async def update_cortical_area_visualization_globally(viz_ctrl: BrainVisualization):
+    """Controls the brain activity visualization across the entire brain."""
+    runtime_data.brain_activity_pub = viz_ctrl.global_visualization
diff --git a/src/api/routers/v1/training.py b/src/api/routers/v1/training.py
index ef4e6fba8..31b9345e9 100644
--- a/src/api/routers/v1/training.py
+++ b/src/api/routers/v1/training.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/api/schemas.py b/src/api/schemas.py
index 7d7f932be..a663f516c 100644
--- a/src/api/schemas.py
+++ b/src/api/schemas.py
@@ -109,7 +109,7 @@ class UpdateCorticalProperties(BaseModel):
     coordinates_2d: Optional[conlist(int, min_items=2, max_items=2)] = None
     coordinates_3d: Optional[conlist(int, min_items=3, max_items=3)] = None
     cortical_dimensions: Optional[conlist(int, min_items=3, max_items=3)] = None
-    cortical_dimensions_per_dev: Optional[conlist(int, min_items=3, max_items=3)] = None
+    cortical_dimensions_per_device: Optional[conlist(int, min_items=3, max_items=3)] = None
     cortical_synaptic_attractivity: Optional[float] = None
     neuron_post_synaptic_potential: Optional[float] = None
     neuron_post_synaptic_potential_max: Optional[float] = None
@@ -132,7 +132,7 @@ class UpdateCorticalProperties(BaseModel):
     dev_count: Optional[int] = None
     cortical_dimensions_per_device: Optional[conlist(int, min_items=3, max_items=3)] = None
 
-    @validator('cortical_dimensions', 'cortical_dimensions_per_dev', each_item=True)
+    @validator('cortical_dimensions', 'cortical_dimensions_per_device', each_item=True)
     def check_positive(cls, value):
         if value is not None and value <= 0:
             raise ValueError('All coordinates must be positive integers greater than 0')
@@ -346,3 +346,7 @@ class RewiringMode(str, Enum):
 class UserPreferences(BaseModel):
     adv_mode: bool
     ui_magnification: float = 1.0
+
+
+class BrainVisualization(BaseModel):
+    global_visualization: bool = True
diff --git a/src/configuration.py b/src/configuration.py
index d90a2f500..4e3470620 100644
--- a/src/configuration.py
+++ b/src/configuration.py
@@ -1,5 +1,6 @@
 # -*- coding: utf-8 -*-
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import os
 import logging
 
diff --git a/src/evo/autopilot.py b/src/evo/autopilot.py
index 5633d2ab2..895477c8b 100644
--- a/src/evo/autopilot.py
+++ b/src/evo/autopilot.py
@@ -1,5 +1,4 @@
-
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/evo/connectome.py b/src/evo/connectome.py
index be7f53b84..2c90f5970 100644
--- a/src/evo/connectome.py
+++ b/src/evo/connectome.py
@@ -1,5 +1,4 @@
-
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/evo/cortical_area.py b/src/evo/cortical_area.py
index ac57ecc3e..2bf3f12f8 100644
--- a/src/evo/cortical_area.py
+++ b/src/evo/cortical_area.py
@@ -1,5 +1,4 @@
-
-# Copyright 2016-2023 The FEAGI Authors. All Rights Reserved.
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/evo/death.py b/src/evo/death.py
index a71218f7f..7f5ad41f2 100644
--- a/src/evo/death.py
+++ b/src/evo/death.py
@@ -1,5 +1,4 @@
-
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/evo/genetics.py b/src/evo/genetics.py
index 7e72a8ef0..a3209ecd8 100644
--- a/src/evo/genetics.py
+++ b/src/evo/genetics.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 This module contains functions related to genome handling mainly inspired by nature and genetic algorithms.
 
diff --git a/src/evo/genome_editor.py b/src/evo/genome_editor.py
index 65425b305..902ac7fc1 100644
--- a/src/evo/genome_editor.py
+++ b/src/evo/genome_editor.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 A tool to help add custom keys to genome
 
diff --git a/src/evo/genome_processor.py b/src/evo/genome_processor.py
index c75a4ae74..8b0b676b3 100644
--- a/src/evo/genome_processor.py
+++ b/src/evo/genome_processor.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2023 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -13,6 +14,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import logging
 import copy
 import traceback
@@ -20,6 +22,7 @@
 from src.evo.genome_editor import save_genome
 from src.evo.genome_validator import genome_validator
 from src.evo.templates import core_morphologies, cortical_types
+from src.evo.cortical_area import cortical_area_type
 from src.inf import runtime_data
 
 
@@ -49,6 +52,7 @@ def genome_ver_check(genome):
             genome1 = genome_2_1_convertor(flat_genome=genome['blueprint'])
             genome_2_hierarchifier(flat_genome=genome['blueprint'])
             genome['blueprint'] = genome1['blueprint']
+            update_template()
             return genome
         else:
             print("ERROR! Genome is not compatible with 2.0 standard")
@@ -57,6 +61,27 @@ def genome_ver_check(genome):
         pass
 
 
+def update_template():
+    for cortical_area in runtime_data.genome["blueprint"]:
+        cortical_type = cortical_area_type(cortical_area=cortical_area)
+        if cortical_type in ["IPU", "OPU"]:
+            if "dev_count" not in runtime_data.genome["blueprint"][cortical_area]:
+                dev_count = 1
+            else:
+                dev_count = runtime_data.genome["blueprint"][cortical_area]["dev_count"]
+            cortical_size = runtime_data.genome["blueprint"][cortical_area]["block_boundaries"]
+            if dev_count != 0:
+                cortical_types[cortical_type]["supported_devices"][cortical_area]["resolution"][0] = \
+                    int(cortical_size[0]/dev_count)
+                cortical_types[cortical_type]["supported_devices"][cortical_area]["resolution"][1] = \
+                    int(cortical_size[1]/dev_count)
+                cortical_types[cortical_type]["supported_devices"][cortical_area]["resolution"][2] = \
+                    int(cortical_size[2]/dev_count)
+            else:
+                cortical_types[cortical_type]["supported_devices"][cortical_area]["resolution"] = \
+                    cortical_size
+
+
 def genome_2_print(genome):
     for cortical_area in genome:
         print(cortical_area)
diff --git a/src/evo/genome_validator.py b/src/evo/genome_validator.py
index 5a30d414b..b935a20bf 100644
--- a/src/evo/genome_validator.py
+++ b/src/evo/genome_validator.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 Provides a series of methods to validate genome syntax
 
diff --git a/src/evo/neuroembryogenesis.py b/src/evo/neuroembryogenesis.py
index 916f64907..54d89636c 100644
--- a/src/evo/neuroembryogenesis.py
+++ b/src/evo/neuroembryogenesis.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 
 This module is responsible for reading instructions from genome as a genotype and translating them into connectome as
diff --git a/src/evo/neuron.py b/src/evo/neuron.py
index 9c898f1d1..2d4b59e53 100644
--- a/src/evo/neuron.py
+++ b/src/evo/neuron.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2023 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 A collection of functions related to Neurons
 """
diff --git a/src/evo/region.py b/src/evo/region.py
index 0486f8ccd..5e24b338d 100644
--- a/src/evo/region.py
+++ b/src/evo/region.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 This module covers needed functions for brain region management
 """
diff --git a/src/evo/stats.py b/src/evo/stats.py
index 160bbff35..ab0837742 100644
--- a/src/evo/stats.py
+++ b/src/evo/stats.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -15,6 +16,7 @@
 # ==============================================================================
 
 
+
 """
 Provides functions performing statistical analysis on the Connectome and Cortical behavior
 """
diff --git a/src/evo/syn_viz.py b/src/evo/syn_viz.py
index 1a9a290f3..0b27ff6f3 100644
--- a/src/evo/syn_viz.py
+++ b/src/evo/syn_viz.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 # Important: Only tested with Matplotlib 3.4.3 as 3.5.1 ran into issues
 
 import numpy as np
diff --git a/src/evo/synapse.py b/src/evo/synapse.py
index 8f86d63f5..7c85eb314 100644
--- a/src/evo/synapse.py
+++ b/src/evo/synapse.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 This module covers needed tools for synapse creation.
 """
diff --git a/src/evo/synaptogenesis_rules.py b/src/evo/synaptogenesis_rules.py
index 5765e626f..977fb1578 100644
--- a/src/evo/synaptogenesis_rules.py
+++ b/src/evo/synaptogenesis_rules.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2023 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import logging
 import traceback
 from src.evo import voxels
diff --git a/src/evo/templates.py b/src/evo/templates.py
index 9f23295d3..1cf532917 100644
--- a/src/evo/templates.py
+++ b/src/evo/templates.py
@@ -1,5 +1,5 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+# Copyright 2016-2022 Neuraville Inc. Authors. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -55,21 +55,21 @@
                 "cortical_name": "Proximity sensor",
                 "structure": "asymmetric",
                 "resolution": [1, 1, 10],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [70, 0, 0]
             },
             "i__acc": {
                 "enabled": True,
                 "cortical_name": "Accelerometer sensor",
                 "structure": "symmetric",
                 "resolution": [3, 1, 21],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [40, 0, 0]
             },
             "i__gyr": {
                 "enabled": True,
                 "cortical_name": "Gyro sensor",
                 "structure": "symmetric",
                 "resolution": [3, 1, 21],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [50, 0, 0]
             },
             "ishock": {
                 "enabled": True,
@@ -83,70 +83,70 @@
                 "cortical_name": "Battery gauge",
                 "structure": "asymmetric",
                 "resolution": [1, 1, 10],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [60, 0, 0]
             },
             "iv00_C": {
                 "enabled": True,
                 "cortical_name": "Central vision sensor",
                 "structure": "asymmetric",
                 "resolution": [64, 64, 1],
-                "coordinate_3d": [20, 30, -20]
+                "coordinate_3d": [30, 40, -20]
             },
             "iv00TR": {
                 "enabled": True,
                 "cortical_name": "Peripheral vision sensor - top right",
                 "structure": "asymmetric",
                 "resolution": [8, 8, 1],
-                "coordinate_3d": [55, 105, -20]
+                "coordinate_3d": [95, 105, -20]
             },
             "iv00TL": {
                 "enabled": True,
                 "cortical_name": "Peripheral vision sensor - top left",
                 "structure": "asymmetric",
                 "resolution": [8, 8, 1],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [20, 105, -20]
             },
             "iv00TM": {
                 "enabled": True,
                 "cortical_name": "Peripheral vision sensor - top middle",
                 "structure": "asymmetric",
                 "resolution": [8, 8, 1],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [55, 105, -20]
             },
             "iv00ML": {
                 "enabled": True,
                 "cortical_name": "Peripheral vision sensor - middle left",
                 "structure": "asymmetric",
                 "resolution": [8, 8, 1],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [20, 70, -20]
             },
             "iv00MR": {
                 "enabled": True,
                 "cortical_name": "Peripheral vision sensor - middle right",
                 "structure": "asymmetric",
                 "resolution": [8, 8, 1],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [95, 70, -20]
             },
             "iv00BL": {
                 "enabled": True,
                 "cortical_name": "Peripheral vision sensor - bottom left",
                 "structure": "asymmetric",
                 "resolution": [8, 8, 1],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [20, 30, -20]
             },
             "iv00BR": {
                 "enabled": True,
                 "cortical_name": "Peripheral vision sensor - bottom right",
                 "structure": "asymmetric",
                 "resolution": [8, 8, 1],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [95, 30, -20]
             },
             "iv00BM": {
                 "enabled": True,
                 "cortical_name": "Peripheral vision sensor - bottom middle",
                 "structure": "asymmetric",
                 "resolution": [8, 8, 1],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [55, 30, -20]
             },
             "i___id": {
                 "enabled": True,
@@ -175,18 +175,29 @@
                 "structure": "asymmetric",
                 "resolution": [1, 1, 1],
                 "coordinate_3d": [20, 0, 0]
-            }
+            },
+            "i_misc": {
+                "enabled": True,
+                "cortical_name": "Miscellaneous Input",
+                "structure": "asymmetric",
+                "resolution": [1, 1, 1],
+                "coordinate_3d": [20, 0, 0]
+            },
         },
         "name_to_id_mapping": {
             "infrared": [
-                "i__inf",
+                "i__inf"
+            ],
+            "infrared_inverse": [
                 "ii_inf"
             ],
             "proximity": [
                 "i__pro"
             ],
-            "gpio": [
-                "idgpio",
+            "gpio_digital": [
+                "idgpio"
+            ],
+            "gpio_analog": [
                 "iagpio"
             ],
             "accelerometer": [
@@ -211,6 +222,15 @@
                 "iv00BL",
                 "iv00BR",
                 "iv00BM"
+            ],
+            "miscellaneous": [
+                "i_misc"
+            ],
+            "servo_position": [
+                "i_spos"
+            ],
+            "servo_motion": [
+                "i_smot"
             ]
         }
     },
@@ -222,7 +242,7 @@
                 "cortical_name": "Motor control",
                 "structure": "asymmetric",
                 "resolution": [2, 1, 10],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [-30, 0, -20]
             },
             "odgpio": {
                 "enabled": True,
@@ -252,13 +272,6 @@
                 "resolution": [28, 1, 1],
                 "coordinate_3d": [20, 0, 0]
             },
-            "o__ser": {
-                "enabled": True,
-                "cortical_name": "Servo control",
-                "structure": "asymmetric",
-                "resolution": [2, 1, 10],
-                "coordinate_3d": [20, 0, 0]
-            },
             "o__nav": {
                 "enabled": True,
                 "cortical_name": "Navigation vector",
@@ -287,26 +300,26 @@
                 "resolution": [1, 1, 1],
                 "coordinate_3d": [20, 0, 0]
             },
-            "ov_mod": {
+            "o_stop": {
                 "enabled": True,
-                "cortical_name": "Central Vision Modulation",
+                "cortical_name": "Emergency stop",
                 "structure": "asymmetric",
-                "resolution": [2, 1, 10],
+                "resolution": [1, 1, 1],
                 "coordinate_3d": [20, 0, 0]
             },
-            "ov_ecc": {
+            "o__ser": {
                 "enabled": True,
-                "cortical_name": "Central Vision Eccentricity",
+                "cortical_name": "Servo control",
                 "structure": "asymmetric",
                 "resolution": [2, 1, 10],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [-50, 0, -20]
             },
             "o_spos": {
                 "enabled": True,
                 "cortical_name": "Servo Position OPU",
                 "structure": "asymmetric",
                 "resolution": [1, 1, 10],
-                "coordinate_3d": [20, 0, 0]
+                "coordinate_3d": [-50, 0, -35]
             },
             "o_blnk": {
                 "enabled": True,
@@ -329,20 +342,6 @@
                 "resolution": [32, 32, 1],
                 "coordinate_3d": [20, 0, 0]
             },
-            "ov_enh": {
-                "enabled": True,
-                "cortical_name": "Lighting enhancement",
-                "structure": "asymmetric",
-                "resolution": [3, 1, 10],
-                "coordinate_3d": [20, 0, 0]
-            },
-            "ovtune": {
-                "enabled": True,
-                "cortical_name": "Lighting threshold",
-                "structure": "asymmetric",
-                "resolution": [2, 1, 10],
-                "coordinate_3d": [20, 0, 0]
-            },
             "o_misc": {
                 "enabled": True,
                 "cortical_name": "Miscellaneous",
@@ -371,15 +370,90 @@
                 "resolution": [1, 1, 1],
                 "coordinate_3d": [20, 0, 0]
             },
-            "o_stop": {
+            "ov_mod": {
                 "enabled": True,
-                "cortical_name": "Emergency stop",
+                "cortical_name": "Central Vision Modulation",
                 "structure": "asymmetric",
-                "resolution": [1, 1, 1],
+                "resolution": [2, 1, 10],
+                "coordinate_3d": [20, 0, 0]
+            },
+            "ov_ecc": {
+                "enabled": True,
+                "cortical_name": "Central Vision Eccentricity",
+                "structure": "asymmetric",
+                "resolution": [2, 1, 10],
+                "coordinate_3d": [20, 0, 0]
+            },
+            "ov_enh": {
+                "enabled": True,
+                "cortical_name": "Lighting enhancement",
+                "structure": "asymmetric",
+                "resolution": [3, 1, 10],
+                "coordinate_3d": [20, 0, 0]
+            },
+            "ovtune": {
+                "enabled": True,
+                "cortical_name": "Lighting threshold",
+                "structure": "asymmetric",
+                "resolution": [2, 1, 10],
                 "coordinate_3d": [20, 0, 0]
+            },
+            "o__led": {
+                "enabled": True,
+                "cortical_name": "LED",
+                "structure": "asymmetric",
+                "resolution": [2, 1, 1],
+                "coordinate_3d": [-40, 0, -50]
             }
         },
-        "name_to_id_mapping": {}
+        "name_to_id_mapping": {
+            "gpio": [
+                "odgpio",
+                "oagpio",
+                "oogpio",
+                "oigpio",
+            ],
+            "motor": [
+                "o__mot",
+            ],
+            "servo": [
+                "o__ser",
+                "o_spos",
+            ],
+            "navigation": [
+                "o__nav",
+                "o__spd",
+                "o_init",
+                "o_mctl",
+                "o_stop",
+            ],
+            "battery": [
+                "o__bat",
+            ],
+            "led": [
+                "o__led"
+            ],
+            "camera": [
+                "ov_mod",
+                "ov_ecc",
+                "o_blnk",
+                "ov_enh",
+                "ovtune",
+                "ovflph",
+                "ovflpv",
+            ],
+            "recognition": [
+                "o___id",
+                "o__loc",
+            ],
+            "motion_control": [
+                "o_mctl"
+            ],
+            "miscellaneous": [
+                "o_misc"
+            ]
+
+        }
     },
     "CORE": {
         "gui_name": "Core",
diff --git a/src/evo/voxels.py b/src/evo/voxels.py
index 238a4bcad..95030ca8f 100644
--- a/src/evo/voxels.py
+++ b/src/evo/voxels.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import json
 from math import floor
 from src.inf import runtime_data
diff --git a/src/evo/x_genesis.py b/src/evo/x_genesis.py
index d6807e1da..060ebb7df 100644
--- a/src/evo/x_genesis.py
+++ b/src/evo/x_genesis.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 This module is responsible for updating the commectome structure during brain life and post neuroembryogenesis.
 """
@@ -238,7 +240,9 @@ def update_cortical_properties(cortical_properties):
         # ####################################################
 
         if cortical_type in ["IPU", "OPU"]:
-            if "cortical_dimensions_per_device" in cortical_properties or "dev_count" in cortical_properties:
+
+            if cortical_properties.get('cortical_dimensions_per_device') or cortical_properties.get('dev_count'):
+
                 dev_count = runtime_data.genome["blueprint"][cortical_area]["dev_count"]
                 dev_count_updated = False
 
@@ -702,6 +706,14 @@ def add_core_cortical_area(cortical_properties):
                 if cortical_id_ in runtime_data.genome['blueprint']:
                     print("Warning! Cortical area already part of genome. Nothing got added.")
                 else:
+
+                    if "dev_count" in cortical_properties:
+                        dev_count = cortical_properties["dev_count"]
+                        if not dev_count:
+                            dev_count = 1
+                    else:
+                        dev_count = 1
+
                     reset_connectome_file(cortical_area=cortical_id_)
                     runtime_data.voxel_dict[cortical_id_] = dict()
                     runtime_data.genome['blueprint'][cortical_id_] = dict()
@@ -709,7 +721,7 @@ def add_core_cortical_area(cortical_properties):
                     runtime_data.genome["blueprint"][cortical_id_] = cortical_template.copy()
                     runtime_data.genome["blueprint"][cortical_id_]["cortical_name"] = cortical_name
                     runtime_data.genome['blueprint'][cortical_id_]["block_boundaries"] = \
-                        [cortical_properties['dev_count'] *
+                        [dev_count *
                          cortical_types[cortical_type]['supported_devices'][cortical_id_]['resolution'][0],
                          cortical_types[cortical_type]['supported_devices'][cortical_id_]['resolution'][1],
                          cortical_types[cortical_type]['supported_devices'][cortical_id_]['resolution'][2],
@@ -966,7 +978,7 @@ def append_circuit(source_genome, circuit_origin, parent_brain_region, rewire_mo
                             "cortical_type": src_blueprint[cortical_area_id]['group_id'],
                             "cortical_name": src_blueprint[cortical_area_id]['cortical_name'],
                             "coordinates_3d": [new_coordinates[0], new_coordinates[1], new_coordinates[2]],
-                            "channel_count": 1,
+                            "dev_count": 1,
                             "coordinates_2d": [0, 0]
                         })
                         appended_cortical_areas.add(cortical_area_id)
@@ -1102,7 +1114,7 @@ def append_circuit(source_genome, circuit_origin, parent_brain_region, rewire_mo
                                 "cortical_id": suggested_input_mapping["src_cortical_area_id"],
                                 "coordinates_2d": [0, 0],
                                 "coordinates_3d": [0, 0, 0],
-                                "channel_count": 1
+                                "dev_count": 1
                             })
                             # print("@@ New system cortical area added:",
                             # suggested_input_mapping["src_cortical_area_id"])
@@ -1166,7 +1178,7 @@ def append_circuit(source_genome, circuit_origin, parent_brain_region, rewire_mo
                                 "cortical_id": suggested_output_mapping["dst_cortical_area_id"],
                                 "coordinates_2d": [0, 0],
                                 "coordinates_3d": [0, 0, 0],
-                                "channel_count": 1
+                                "dev_count": 1
                             })
                             print("@@ New system cortical area added:",
                                   suggested_output_mapping["dst_cortical_area_id"])
@@ -1248,10 +1260,10 @@ def create_missing_pns_areas(dev_list):
     """
     dev_list = {
         "o__mot": {
-            "dev_count": 2
+            "max_feagi_index": 2
         },
         "i__inf": {
-            "dev_count": 1
+            "max_feagi_index": 1
         }
     }
     """
@@ -1262,36 +1274,45 @@ def create_missing_pns_areas(dev_list):
     }
     for cortical_area in dev_list:
         if cortical_area not in runtime_data.genome["blueprint"]:
+
             dev_count = 1
-            if "dev_count" in dev_list[cortical_area]:
-                dev_count = dev_list[cortical_area]["dev_count"]
+
+            if "max_feagi_index" in dev_list[cortical_area]:
+                dev_count = dev_list[cortical_area]["max_feagi_index"] + 1
 
             cortical_type = cortical_area_type(cortical_area=cortical_area)
 
-            coordinate_2d = [0, 0]
-            if cortical_type == "IPU":
-                coordinate_2d = [random.randint(10, 100), random.randint(10, 200)]
-
-            if cortical_type == "OPU":
-                coordinate_2d = [random.randint(1000, 1100), random.randint(0, 300)]
-
-            coordinate_3d = [random.randint(10, 100), random.randint(10, 40), 0]
-
-            if "coordinate_3d" in cortical_types[cortical_type]["supported_devices"][cortical_area]:
-                coordinate_3d = cortical_types[cortical_type]["supported_devices"][cortical_area]["coordinate_3d"]
-
-            add_core_cortical_area(cortical_properties={
-                "cortical_type": cortical_type,
-                "cortical_id": cortical_area,
-                "coordinates_2d": coordinate_2d,
-                "coordinates_3d": coordinate_3d,
-                "dev_count": dev_count
-            })
-            pns_update_report["added"].append(cortical_area)
-        elif "dev_count" in dev_list[cortical_area]:
-            dev_count = dev_list[cortical_area]["dev_count"]
-            if dev_count != runtime_data.genome["blueprint"][cortical_area]["dev_count"]:
-                update_pns_dev_count(pns_area=cortical_area, new_dev_count=dev_count)
+            if cortical_type in ["IPU", "OPU"]:
+                coordinate_2d = [0, 0]
+                if cortical_type == "IPU":
+                    coordinate_2d = [random.randint(10, 100), random.randint(10, 200)]
+
+                if cortical_type == "OPU":
+                    coordinate_2d = [random.randint(1000, 1100), random.randint(0, 300)]
+
+                coordinate_3d = [random.randint(10, 100), random.randint(10, 40), 0]
+
+                if "coordinate_3d" in cortical_types[cortical_type]["supported_devices"][cortical_area]:
+                    coordinate_3d = cortical_types[cortical_type]["supported_devices"][cortical_area]["coordinate_3d"]
+
+                add_core_cortical_area(cortical_properties={
+                    "cortical_type": cortical_type,
+                    "cortical_id": cortical_area,
+                    "coordinates_2d": coordinate_2d,
+                    "coordinates_3d": coordinate_3d,
+                    "dev_count": dev_count
+                })
+                pns_update_report["added"].append(cortical_area)
+            else:
+                print(f"Warning!! During auto IO area creation '{cortical_area}' detected to have  '{cortical_type}' "
+                      f"as its cortical type.")
+
+        elif "max_feagi_index" in dev_list[cortical_area]:
+            needed_dev_count = dev_list[cortical_area]["max_feagi_index"] + 1
+            print(">>>>>>>>> cortical area:", cortical_area, needed_dev_count, runtime_data.genome["blueprint"][cortical_area]["dev_count"])
+            if needed_dev_count > runtime_data.genome["blueprint"][cortical_area]["dev_count"]:
+                print("<<<<<<<< >>>>>>>>", )
+                update_pns_dev_count(pns_area=cortical_area, new_dev_count=needed_dev_count)
                 pns_update_report["updated"].append(cortical_area)
 
     print(f"Cortical areas automatically added/reconfigured:\n {pns_update_report}")
@@ -1312,4 +1333,17 @@ def update_pns_dev_count(pns_area, new_dev_count):
     runtime_data.genome["blueprint"][cortical_area]["block_boundaries"][1] = dim_y
     runtime_data.genome["blueprint"][cortical_area]["block_boundaries"][2] = dim_z
 
+    runtime_data.transforming_areas.add(cortical_area)
+    runtime_data.brain_readiness = False
     cortical_regeneration(cortical_area=pns_area)
+
+    runtime_data.cortical_dimensions = generate_cortical_dimensions()
+    runtime_data.cortical_dimensions_by_id = generate_cortical_dimensions_by_id()
+    save_genome(genome=genome_v1_v2_converter(runtime_data.genome),
+                file_name=runtime_data.connectome_path + "genome.json")
+    runtime_data.last_genome_modification_time = datetime.datetime.now()
+
+    runtime_data.transforming_areas.remove(cortical_area)
+    update_evo_change_register(change_area={pns_area})
+
+    runtime_data.brain_readiness = True
diff --git a/src/feagi_configuration.ini b/src/feagi_configuration.ini
index 61b30db0c..b5656eee1 100644
--- a/src/feagi_configuration.ini
+++ b/src/feagi_configuration.ini
@@ -1,5 +1,5 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+# Copyright 2016-2022 Neuraville Inc. Authors. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/inf/baseline.py b/src/inf/baseline.py
index dae66fb09..74dbfbb1d 100644
--- a/src/inf/baseline.py
+++ b/src/inf/baseline.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 # todo: Need cohesiveness between content here and what defined under genome_processor.py
 
 gui_baseline = {
diff --git a/src/inf/connectome.py b/src/inf/connectome.py
index 08b432a5e..8f8d52cf7 100644
--- a/src/inf/connectome.py
+++ b/src/inf/connectome.py
@@ -1,3 +1,21 @@
+
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
+#
+# 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
+#
+#     http://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.
+# ==============================================================================
+
+
 import gzip
 import shutil
 import argparse
diff --git a/src/inf/db_handler.py b/src/inf/db_handler.py
index 84733e36c..e73feba6e 100644
--- a/src/inf/db_handler.py
+++ b/src/inf/db_handler.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import time
 import logging
 import random
diff --git a/src/inf/dependencies.py b/src/inf/dependencies.py
new file mode 100644
index 000000000..7a66b8a6d
--- /dev/null
+++ b/src/inf/dependencies.py
@@ -0,0 +1,67 @@
+
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
+#
+# 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
+#
+#     http://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.
+# ==============================================================================
+
+
+import pkg_resources
+import sys
+
+
+def validate_requirements(requirements_file='requirements.txt'):
+    """
+    Validates that all packages listed in the given requirements file match their installed versions.
+
+    :param requirements_file: The path to the requirements file. Default is 'requirements.txt'.
+    :raises SystemExit: If any package does not match the required version or is not installed.
+    """
+    with open(requirements_file, 'r') as file:
+        requirements = file.readlines()
+
+    mismatched_packages = []
+
+    for requirement in requirements:
+        try:
+            # Parse the requirement line
+            req = pkg_resources.Requirement.parse(requirement.strip())
+
+            # Get the installed version of the package
+            installed_version = pkg_resources.get_distribution(req.name).version
+
+            # Compare installed version with the required version
+            if installed_version not in req:
+                mismatched_packages.append((req.name, req.specs, installed_version))
+
+        except pkg_resources.DistributionNotFound:
+            print(f"Package {req.name} is not installed.")
+            sys.exit(1)
+        except Exception as e:
+            print(f"Error processing {requirement}: {e}")
+            sys.exit(1)
+
+    if mismatched_packages:
+        print("The following packages do not match the versions specified in requirements.txt:")
+        for name, required, installed in mismatched_packages:
+            required_version = ", ".join([f"{op}{ver}" for op, ver in required])
+            print(f"- {name}: required {required_version}, installed {installed}")
+        sys.exit(1)
+    else:
+        print("All packages match the versions specified in requirements.txt.")
+        print("Validation complete. Proceeding with application...")
+
+
+# Example of calling this function from another module
+if __name__ == "__main__":
+    validate_requirements('../../requirements.txt')
diff --git a/src/inf/disk_ops.py b/src/inf/disk_ops.py
index dc9e9311d..7f8daa608 100644
--- a/src/inf/disk_ops.py
+++ b/src/inf/disk_ops.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import logging
 import os.path
 import json
diff --git a/src/inf/feagi.py b/src/inf/feagi.py
index 57ad489c6..0a8e03fdc 100644
--- a/src/inf/feagi.py
+++ b/src/inf/feagi.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -13,6 +14,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import logging.config
 import json
 import os
@@ -35,7 +37,7 @@
 
 
 def splash_screen():
-    print("""\n
+    print("""
           _________           _________               __                ______               _____    
          |_   ___  |         |_   ___  |             /  \             .' ___  |             |_   _|   
            | |_  \_|           | |_  \_|            / /\ \           / .'   \_|               | |     
diff --git a/src/inf/genome_py_json_converter.py b/src/inf/genome_py_json_converter.py
index f7d8cdd7e..12a7f7d1d 100644
--- a/src/inf/genome_py_json_converter.py
+++ b/src/inf/genome_py_json_converter.py
@@ -1,4 +1,21 @@
 #!/usr/bin/python
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
+#
+# 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
+#
+#     http://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.
+# ==============================================================================
+
+
 """
 
 Converts a genome saved in Python format to JSON
diff --git a/src/inf/helpers.py b/src/inf/helpers.py
index 41cadbe4b..a45aa3318 100644
--- a/src/inf/helpers.py
+++ b/src/inf/helpers.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/inf/initialize.py b/src/inf/initialize.py
index ad91f950e..6f93ff989 100644
--- a/src/inf/initialize.py
+++ b/src/inf/initialize.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2023 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/inf/insights.py b/src/inf/insights.py
index 79b7a678f..ddd06253c 100644
--- a/src/inf/insights.py
+++ b/src/inf/insights.py
@@ -1,5 +1,4 @@
-
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/src/inf/messenger.py b/src/inf/messenger.py
index 2ac13499c..0410430dd 100644
--- a/src/inf/messenger.py
+++ b/src/inf/messenger.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 This module provides a common method for IPU and OPU to interact with FEAGI.
 
diff --git a/src/inf/runtime_data.py b/src/inf/runtime_data.py
index 68d88b829..fe3fe3f01 100644
--- a/src/inf/runtime_data.py
+++ b/src/inf/runtime_data.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -15,6 +16,7 @@
 # ==============================================================================
 
 
+
 # System
 parameters = {}
 event_id = '_'
@@ -74,7 +76,8 @@
     "2d_loc": 0,
     "3d_dimm": 0,
     "name": 0,
-    "3d_viz": 0
+    "3d_viz": 0,
+    "agent": 0
 }
 manual_delete_list = set()
 genome_fitness = 1
diff --git a/src/inf/settings.py b/src/inf/settings.py
index 33fbc6cbd..fc413bdd3 100644
--- a/src/inf/settings.py
+++ b/src/inf/settings.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 This file contains all the Global settings and parameters used throughout the project
 """
diff --git a/src/main.py b/src/main.py
index bff876fd2..94f25e510 100644
--- a/src/main.py
+++ b/src/main.py
@@ -1,3 +1,19 @@
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
+#
+# 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
+#
+#     http://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.
+# ==============================================================================
+
 
 # FEAGI is a brain inspired evolutionary framework capable of growing an artificial brain from a
 # genome and helping it evolve over generations.
diff --git a/src/mem/memory.py b/src/mem/memory.py
index 189bcb4b7..e8c6ddcca 100644
--- a/src/mem/memory.py
+++ b/src/mem/memory.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """This module is responsible for creating bidirectional synapses between neurons that are
 firing together, while also strengthening/weakening (via LTP/LTD, respectively) a given active
 neuron's synapses to upstream/downstream neurons firing in the previous fire candidate list (FCL).
diff --git a/src/npu/auxiliary.py b/src/npu/auxiliary.py
index 05e2e9ee9..a04f09b7b 100644
--- a/src/npu/auxiliary.py
+++ b/src/npu/auxiliary.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,5 +15,6 @@
 # ==============================================================================
 
 
+
 def aux():
     pass
diff --git a/src/npu/burst_engine.py b/src/npu/burst_engine.py
index 5c4d4ea1d..d9c106f25 100644
--- a/src/npu/burst_engine.py
+++ b/src/npu/burst_engine.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -13,6 +14,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 Burst engine is responsible for the event driven behavior of the artificial brain. It facilitates the firing all the
 contents of the Fire Candidate List (FCL) at the same instant.
diff --git a/src/npu/comprehension.py b/src/npu/comprehension.py
index a22cbabe9..297fdd9d1 100644
--- a/src/npu/comprehension.py
+++ b/src/npu/comprehension.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 def utf_detection_logic(detection_list):
     # todo: Add a logic to account for cases were two top ranked items are too close
     # Identifies the detected UTF character with highest activity
diff --git a/src/npu/consciousness.py b/src/npu/consciousness.py
index 55a9a8ca9..8c7b0e97d 100644
--- a/src/npu/consciousness.py
+++ b/src/npu/consciousness.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -15,6 +16,7 @@
 # ==============================================================================
 
 
+
 def start():
     return
 
diff --git a/src/npu/misc.py b/src/npu/misc.py
index a20e20170..912db28d0 100644
--- a/src/npu/misc.py
+++ b/src/npu/misc.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 from src.inf import runtime_data, settings
 from src.evo import stats
 
diff --git a/src/npu/physiology.py b/src/npu/physiology.py
index 5ae65e20b..fe2660b01 100644
--- a/src/npu/physiology.py
+++ b/src/npu/physiology.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import json
 import random
 import logging
diff --git a/src/npu/stimulator.py b/src/npu/stimulator.py
index 87089f06c..cbebf6ac3 100644
--- a/src/npu/stimulator.py
+++ b/src/npu/stimulator.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2024 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -13,6 +14,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 This module contains a virtual set of hardware controllers used for simulation and testing only
 
diff --git a/src/pns/pns_router.py b/src/pns/pns_router.py
index 19629acc3..fcb035b5a 100644
--- a/src/pns/pns_router.py
+++ b/src/pns/pns_router.py
@@ -1,7 +1,8 @@
 # -*- coding: utf-8 -*-
 
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -16,6 +17,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import logging
 from src.pns import stimuli_translator
 import traceback
@@ -84,7 +86,7 @@ def stimuli_router(ipu_data):
         if "connected_agents" in ipu_data["data"]:
             if ipu_data["data"]["connected_agents"]:
                 for connected_agent in ipu_data["data"]["connected_agents"]:
-                    if not runtime_data.connected_agents[connected_agent]:
+                    if not runtime_data.connected_agents.get(connected_agent):
                         runtime_data.connected_agents[connected_agent] = True
 
         if "sensory_data" in ipu_data["data"]:
diff --git a/src/pns/stimuli_processor.py b/src/pns/stimuli_processor.py
index cd63414df..b4551f6c2 100644
--- a/src/pns/stimuli_processor.py
+++ b/src/pns/stimuli_processor.py
@@ -1,7 +1,8 @@
 # -*- coding: utf-8 -*-
 
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -16,6 +17,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import logging
 from math import inf
 from src.evo.voxels import *
diff --git a/src/pns/stimuli_translator.py b/src/pns/stimuli_translator.py
index c7be415a9..ad4b7093f 100644
--- a/src/pns/stimuli_translator.py
+++ b/src/pns/stimuli_translator.py
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 
-
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import logging
 from src.evo.voxels import *
 from src.pns import stimuli_processor
diff --git a/src/skeleton_delete.py b/src/skeleton_delete.py
deleted file mode 100644
index 8bcaf7aec..000000000
--- a/src/skeleton_delete.py
+++ /dev/null
@@ -1,132 +0,0 @@
-# -*- coding: utf-8 -*-
-
-
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
-#
-# 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
-#
-#     http://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 is a skeleton file that can serve as a starting point for a Python
-console script. To run this script uncomment the following lines in the
-[options.entry_points] section in setup.cfg:
-
-    console_scripts =
-         fibonacci = feagi.skeleton:run
-
-Then run `python setup.py install` which will install the command `fibonacci`
-inside your current environment.
-Besides console scripts, the header (i.e. until _logger...) of this file can
-also be used as template for Python modules.
-
-Note: This skeleton file can be safely removed if not needed!
-"""
-
-import argparse
-import sys
-import logging
-
-# from feagi import __version__
-
-__author__ = "Mohammad Nadji-Tehrani"
-__copyright__ = "Mohammad Nadji-Tehrani"
-__license__ = "apache"
-
-_logger = logging.getLogger(__name__)
-
-
-def fib(n):
-    """Fibonacci example function
-
-    Args:
-      n (int): integer
-
-    Returns:
-      int: n-th Fibonacci number
-    """
-    assert n > 0
-    a, b = 1, 1
-    for i in range(n-1):
-        a, b = b, a+b
-    return a
-
-
-def parse_args(args):
-    """Parse command line parameters
-
-    Args:
-      args ([str]): command line parameters as list of strings
-
-    Returns:
-      :obj:`argparse.Namespace`: command line parameters namespace
-    """
-    parser = argparse.ArgumentParser(
-        description="Just a Fibonacci demonstration")
-    parser.add_argument(
-        "--version",
-        action="version",
-        version="feagi {ver}".format(ver=__version__))
-    parser.add_argument(
-        dest="n",
-        help="n-th Fibonacci number",
-        type=int,
-        metavar="INT")
-    parser.add_argument(
-        "-v",
-        "--verbose",
-        dest="loglevel",
-        help="set loglevel to INFO",
-        action="store_const",
-        const=logging.INFO)
-    parser.add_argument(
-        "-vv",
-        "--very-verbose",
-        dest="loglevel",
-        help="set loglevel to DEBUG",
-        action="store_const",
-        const=logging.DEBUG)
-    return parser.parse_args(args)
-
-
-def setup_logging(loglevel):
-    """Setup basic logging
-
-    Args:
-      loglevel (int): minimum loglevel for emitting messages
-    """
-    logformat = "[%(asctime)s] %(levelname)s:%(name)s:%(message)s"
-    logging.basicConfig(level=loglevel, stream=sys.stdout,
-                        format=logformat, datefmt="%Y-%m-%d %H:%M:%S")
-
-
-def main(args):
-    """Main entry point allowing external calls
-
-    Args:
-      args ([str]): command line parameter list
-    """
-    args = parse_args(args)
-    setup_logging(args.loglevel)
-    _logger.debug("Starting crazy calculations...")
-    print("The {}-th Fibonacci number is {}".format(args.n, fib(args.n)))
-    _logger.info("Script ends here")
-
-
-def run():
-    """Entry point for console_scripts
-    """
-    main(sys.argv[1:])
-
-
-if __name__ == "__main__":
-    run()
diff --git a/src/trn/shock.py b/src/trn/shock.py
index 3908f1911..8c67c8e4e 100644
--- a/src/trn/shock.py
+++ b/src/trn/shock.py
@@ -1,5 +1,6 @@
 
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,6 +15,7 @@
 # limitations under the License.
 # ==============================================================================
 
+
 """
 Responsible for orchestrating the exposure of the brain to various information for learning purposes.
 


Test patch:
diff --git a/src/api/endpoint_tester.py b/src/api/endpoint_tester.py
index 32ef7c507..ef468c4ff 100644
--- a/src/api/endpoint_tester.py
+++ b/src/api/endpoint_tester.py
@@ -1,4 +1,5 @@
-# Copyright 2016-2022 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/tests/test_initialization.py b/tests/test_initialization.py
index d40eba49d..5ea720196 100644
--- a/tests/test_initialization.py
+++ b/tests/test_initialization.py
@@ -1,5 +1,6 @@
 """
-# Copyright 2019 The FEAGI Authors. All Rights Reserved.
+#
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -13,6 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 # ==============================================================================
+
 """
 
 
diff --git a/tests/test_skeleton.py b/tests/test_skeleton.py
index 607fdb4c5..188a47f59 100644
--- a/tests/test_skeleton.py
+++ b/tests/test_skeleton.py
@@ -1,7 +1,8 @@
 # -*- coding: utf-8 -*-
 
 
-# Copyright 2019 The FEAGI Authors. All Rights Reserved.
+##
+# Copyright 2016-Present Neuraville Inc. All Rights Reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -16,17 +17,13 @@
 # limitations under the License.
 # ==============================================================================
 
+
 import pytest
-from src.skeleton import fib
 
 __author__ = "Mohammad Nadji-Tehrani"
 __copyright__ = "Mohammad Nadji-Tehrani"
 __license__ = "apache"
 
 
-def test_fib():
-    assert fib(1) == 1
-    assert fib(2) == 1
-    assert fib(7) == 13
-    with pytest.raises(AssertionError):
-        fib(-10)
+def test_neuron():
+    pass