finished section about protocol extensions