abstract
merge