new interface
merge