some addtion to recursion