add sorting and search