David API

* Resolves #294