merge Master to cpp_dev

bring cpp_dev to actual level