merge
will now terminate if searchlen == 0