better merge function