added variadic merge