added extrametadata optional parameter