PROTOCOL more detailed and formal. Goal should be to make it into an RFC