add createMetadata() function