renamed searchFirst -> improveFirst