merge function is quite obscure , sort = False doesn't work need to add a index for sorting after merge