add closure
merge