Make it look a little bit nicer
prevent double submissions
cancel existing search if request hasn't finished yet
sensible error reporting + some refactoring for better readability