widjet refactoring