more impl
merge
func desc