recursion melts my brain