new object-oriented API.