use assign instead of merge