     }
 
     /**
+        Get a dictionary of all tables 1-level down from the given key
+        path.  To get all tables at the root level call with no parameters.
+
+        - Parameter parent: Root key path
+
+        - Returns: Dictionary of key names and tables
+    */
+    public func tables(_ parent: String...) -> [String: Toml] {
+        return tables(parent)
+    }
+
+    /**
         Return a TOML table that contains everything beneath the specified
         path.
 


        - Returns: boolean value of key path
    */
    public func bool(_ path: String...) -> Bool? {
        return value(path)
    }


        - Returns: `Toml` table of all keys beneath the specified path
    */
    public func table(from path: [String]) -> Toml {
        var fullTablePrefix = path
        if let tablePrefix = prefixPath {
            fullTablePrefix = tablePrefix + path
        }

        let constructedTable = Toml(prefixPath: fullTablePrefix)

        // add values
        for keyName in keyNames {
