compostion rules defined + simple controller output
This commit defines the comopositon rules, and how the various process have been modularized, in an attempt to separate function and data as separate as possible. Next what remains in adding parameters and testing