add component interface