Add API docs

This is taking things to far!