refactored find fns