change component to use a DataSource for configuration