ideal
merge