merge with offical rep

catch up with offical rep