hmm
Revert "hmm"

This reverts commit 807e9e222418130c05c5a5f1c911e13e665ff397.
Revert "Revert "hmm""

This reverts commit 2503a6fe3629c3964c922c068d36f9f9a405fc9e.
Introduced CodeBuilder concept
Minor clean up