interface of widget