finished refactoring find-free