Enhanced speed and removed redundancies. Also added another method called getLastResult() so that you don't have to start a new search