merge various cases
merge
merge
merge