add documentation for the protocol class