pseudo form
merge