mearge from orginal version

mearge from orginal version