                                       15.0 / 8.0])
     }
 
+    /// Hexany tuning table created from four frequencies
     public func hexany(_ A: Frequency, _ B: Frequency, _ C: Frequency, _ D: Frequency) {
         tuningTable(fromFrequencies: [A * B, A * C, A * D, B * C, B * D, C * D])
     }
 
-    // MARK: Scala file support
+    /// Use a Scala file to write the tuning table
     public func scalaFile(_ filePath: String) {
         guard
             let contentData = FileManager.default.contents(atPath: filePath),

        return trimmedString
    }

    open func frequencies(fromScalaString rawStr: String?) -> [Frequency]? {
        guard let inputStr = rawStr else {
            return nil

        tuningTable(fromFrequencies: equalTempermentFrequencies)
    }

    /// Create the tuning using the input frequencies
    public func tuningTable(fromFrequencies inputFrequencies: [Frequency]) {
        if inputFrequencies.isEmpty {
            AKLog("No input frequencies")
