Should this be protocol specific?