add string versionId semantics