it shows and hides widgets nicely, also nicer code