Breaking out to make it a protocol