change the component interface for app and library