fix component creation