merge dataframes and still preserve the original order