Refactor
Add search (partial)