Protocols must match for this to work