making component-like