protocols can inherit protocols