some better GTK functionality