refactored my widgets