impl template type
merge