added protocol methods decription