more options, more compact protocol