 
   public var description: String {
     return "\(key) \(type)"
+  }
+
+  public static func from(notes: [Note]) -> [NewChord] {
+
+    return []
   }
 
   public static var all: [NewChord] {

  public var description: String {
    switch self {
    case .natural: return "Natural"
    case .bemol: return "Halfstep down"
    case .sharp: return "Halfstep up"
    }
  }

  public static var all: [NewChordAccidentType] {
    return [.natural, .bemol, .sharp]
  }
}


}

public struct NewChord: ChordDescription {
  public private(set) var key: NoteType
  public private(set) var type: NewChordType
  public private(set) var inversion: Int

  public init(key: NoteType, type: NewChordType, inversion: Int = 0) {
    self.key = key
    self.type = type
    self.inversion = inversion
  }

  public var notation: String {
