changed how find actually works to support more scenarios and centralize logic.