Implement the API

Fixes #84