Tweak protocol implementation after review
Change and annotate function names