merge to d988b01 from upstream