Add better API documentation