working version
merge