code generator working with components