add documentation protocol