[refactor] use adopter classes instead of adopter funcitons [view] search -- error handling and search-error sub component [view] search -- filter by time [view] search -- filter by person name