experimental support for sync API, for better migration path