gruesome recursion