Languages and technologies used to implement componentbased software are not component-based, i.e. while the design phase happens in the component world, the programming phase occurs in the object-oriented world. When an object-oriented language is used for the programming stage, then the original component-based design vanish, because component concepts like requirements and architectures are not treated explicitly. This makes it difficult to keep model and its implementation causally connected. We present a new pure reflective component-based programming and modeling language where all core component concepts are treated explicitly and therefore keeping original componentdesign alive. The language makes it possible to model and program component-based software using the same language plus its uniform component-based meta-model and integrated reflection capabilities make the language and its applications open and flexible.