optimizations
merge