widget : refactoring behavior