define protocol implemented