add interface for widget