revised merge