More work on a new OOP api