added protocol spec