implementing support for CSV metadata and Element.cs is refactored with new metadata