protocol response classes implemented