add widget
TODO:update widget