start up better recursion method