data reading
merging