added metadata struct