initial protocol spec