improved search functionality