add search and sort