nicer API, docs.