Modular Version

The code is becoming more complex and we longer need to send one file
for initial designs so restructured into modules.