revised recursion part II