Metadata GENERIC implementation

Metadata GENERIC implementation from "rejhgadellaa" with Merge conflicts resolved