component-based setups