* fixing recursion, func calls