API

This is work in progress.