document for the interface