added recursion advancedGUI