recurive method for find