updated protocol.h to include method handles