removed recursion from find()