widget logic restored