improving protocol spec