synced with sdk v1.9.0