ABI preview

stable after refactoring implementation, but more doc work to be done.