bugfix & refactoring : widget