GUIFunc with some updates