graphics recursion