First working redesign. Modules are not yet dynamically loaded and the system isnt properly tested either