Add new API, partly implemented, undocumented, untested.