the recursion way is not correct