Reorganizing source tree. Added initial code generation support