refactoring widget
refactoring widget