recursion gives me grey hair