linked list problem + recursion