Repository: d4nj1/TLPUI (language: python)

Issue:
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest
Add support for TLP 1.7 and refactor codebase
As TLP 1.7 is currently in developmend, TLPUI should add support for it and improve the codebase in general.

DoD:

* Review changes from latest TLP development and  amend configuration values
* Refactor code base and set Python 3.8.1 as mininal supported version
* Remove obsolete setuptools and switch to poetry as a build system
* Use YAML instead of JSON for config schema
* Remove support for TLP versions prior 1.3
* Switch from unittest to pytest


Discussion / hints:

Fix patch:
diff --git a/.gitignore b/.gitignore
index 3c7a645..49c778e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,7 @@
 __pycache__
 .idea
 .tox
-test/settings
-tlpui/lang/configschema*.json.h
+.coverage
+dist/
+venv/
+tlpui/lang/configschema.yaml.h
diff --git a/AppImage/.gitignore b/AppImage/.gitignore
index f087371..67b1db9 100644
--- a/AppImage/.gitignore
+++ b/AppImage/.gitignore
@@ -1,2 +1,3 @@
+out/
 com.github.d4nj1.tlpui/
-pkg2appimage-1807-x86_64.AppImage
\ No newline at end of file
+pkg2appimage-*-x86_64.AppImage
\ No newline at end of file
diff --git a/AppImage/com.github.d4nj1.tlpui.appdata.xml b/AppImage/com.github.d4nj1.tlpui.appdata.xml
index ab8df8f..e8efd4d 100644
--- a/AppImage/com.github.d4nj1.tlpui.appdata.xml
+++ b/AppImage/com.github.d4nj1.tlpui.appdata.xml
@@ -20,6 +20,20 @@
 	</provides>
 	<content_rating type="oars-1.1" />
 	<releases>
+		<release version="1.7.0" date="2024-01-02" urgency="low">
+			<description>
+				<p>Add initial TLP 1.7 compatibility</p>
+				<p>Refactor code base and set Python 3.8.1 as minimal supported version</p>
+				<p>Remove obsolete setuptools and switch to poetry as a build system</p>
+				<p>Use YAML instead of JSON for config schema</p>
+				<p>Remove support for TLP versions prior 1.3</p>
+				<p>Switch from unittest to pytest</p>
+			</description>
+			<url>https://github.com/d4nj1/TLPUI/releases/tag/tlpui-1.7.0</url>
+			<issues>
+				<issue url="https://github.com/d4nj1/TLPUI/issues/143">#143</issue>
+			</issues>
+		</release>
 		<release version="1.6.1" date="2023-10-15" urgency="low">
 			<description>
 				<p>Update Russian translation</p>
diff --git a/AppImage/com.github.d4nj1.tlpui.pkg.yml b/AppImage/com.github.d4nj1.tlpui.pkg.yml
index af9b7fe..4f440d8 100644
--- a/AppImage/com.github.d4nj1.tlpui.pkg.yml
+++ b/AppImage/com.github.d4nj1.tlpui.pkg.yml
@@ -1,10 +1,10 @@
 app: com.github.d4nj1.tlpui
 ingredients:
-  dist: groovy
+  dist: mantic
   sources:
-    - deb http://archive.ubuntu.com/ubuntu/ groovy main universe
-    - deb http://archive.ubuntu.com/ubuntu/ groovy-updates main universe
-    - deb http://archive.ubuntu.com/ubuntu/ groovy-security main universe
+    - deb http://archive.ubuntu.com/ubuntu/ mantic main universe
+    - deb http://archive.ubuntu.com/ubuntu/ mantic-updates main universe
+    - deb http://archive.ubuntu.com/ubuntu/ mantic-security main universe
   packages:
     - python3-venv
     - python3-gi
@@ -37,3 +37,5 @@ script:
   - chmod +x usr/bin/tlpui
   # Clean unused data
   - rm -rf TLPUI-master
+  # Fix undefined symbol: g_string_free_and_steal
+  - rm -rf usr/share/glib-2.0/schemas/
diff --git a/AppImage/pkg2appimage.sh b/AppImage/pkg2appimage.sh
index 15ee273..fe9be0f 100755
--- a/AppImage/pkg2appimage.sh
+++ b/AppImage/pkg2appimage.sh
@@ -1,8 +1,6 @@
 #!/usr/bin/env bash
-# Download pkg2appimage image tool and use
-if [ ! -f pkg2appimage-1807-x86_64.AppImage ]; then
-    wget https://github.com/AppImage/pkg2appimage/releases/download/continuous/pkg2appimage-1807-x86_64.AppImage
-    chmod +x pkg2appimage-1807-x86_64.AppImage
-fi
-ARCH=x86_64 ./pkg2appimage-1807-x86_64.AppImage com.github.d4nj1.tlpui.pkg.yml
-mv out/TLP_UI-.glibc2.3-x86_64.AppImage out/TLP_UI-x86_64.AppImage
\ No newline at end of file
+# Download pkg2appimage tool and use it
+wget -c $(wget -q https://api.github.com/repos/AppImageCommunity/pkg2appimage/releases -O - | grep "pkg2appimage-.*-x86_64.AppImage" | grep browser_download_url | head -n 1 | cut -d '"' -f 4)
+chmod +x ./pkg2appimage-*.AppImage
+ARCH=x86_64 ./pkg2appimage-*.AppImage com.github.d4nj1.tlpui.pkg.yml
+mv out/TLP_UI-.glibc2.38-x86_64.AppImage out/TLP_UI-x86_64.AppImage
diff --git a/COPYING.md b/COPYING.md
index 4eb7c98..7326113 100644
--- a/COPYING.md
+++ b/COPYING.md
@@ -4,11 +4,11 @@ Author:
 
 Copyrights:
 
-    Copyright (c) 2023 Daniel Christophis
+    Copyright (c) 2024 Daniel Christophis
 
     Descriptions were adapted from
     - TLP (https://github.com/linrunner/TLP)
-         Copyright (c) 2023 by Thomas Koch
+         Copyright (c) 2024 by Thomas Koch
 
 License:
 
diff --git a/README.md b/README.md
index 300e779..95e6a74 100644
--- a/README.md
+++ b/README.md
@@ -10,18 +10,20 @@ It has the aim to protect users from setting bad configuration and to deliver a
 
 ### Install and run instructions :ledger:
 
-* [Python 3](https://github.com/d4nj1/TLPUI/wiki/Install-instructions#python-3)
-* [Ubuntu/Debian family](https://github.com/d4nj1/TLPUI/wiki/Install-instructions#ubuntudebian-family)
-* [Arch Linux](https://github.com/d4nj1/TLPUI/wiki/Install-instructions#arch-linux)
+* [PyPI](https://github.com/d4nj1/TLPUI/blob/master/docs/INSTALL.md#pypi)
+* [Poetry](https://github.com/d4nj1/TLPUI/blob/master/docs/INSTALL.md#poetry)
+* [Python 3](https://github.com/d4nj1/TLPUI/blob/master/docs/INSTALL.md#python-3)
+* [Arch Linux](https://github.com/d4nj1/TLPUI/blob/master/docs/INSTALL.md#arch-linux)
 
 <a href='https://flathub.org/apps/details/com.github.d4nj1.tlpui'><img width='240' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-en.png'/></a>
 
 ### Current status :sunrise_over_mountains:
 
-* Supports TLP versions 0.8-1.6
+* Supports TLP versions 1.3-1.7 - _older TLP versions are supported by [1.6.1](https://github.com/d4nj1/TLPUI/releases/tag/tlpui-1.6.1)_
+* Requires Python 3.8 or greater
 * Configuration can be read and displayed
-* Shows information about configuration changes (defaults/unsaved and dropin/user config)
-* Changes can be saved with user and sudo permissions (e.g. /etc/default/tlp or /etc/tlp.conf)
+* Shows information about configuration changes (defaults/unsaved and drop-in/user config)
+* Changes can be saved with user and sudo permissions (/etc/tlp.conf)
 * tlp-stat can be load in ui (simple and complete)
 
 ### To be done :building_construction:
diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md
new file mode 100644
index 0000000..cb39b2a
--- /dev/null
+++ b/docs/DEVELOPMENT.md
@@ -0,0 +1,64 @@
+This documentation has the aim to enable future development of features and improvements for the TLP-UI project.
+It consists the idea behind the UI and a description of the internal structure.
+
+# Idea
+
+The idea of this projects was and is to build a graphical application which has the ability to be created on runtime for
+any supported version of the TLP configuration file. Many UIs contain the weakness that they have to be rebuild 
+whenever there haven been changes to the main application even though the base configuration has not changed much.
+
+# Solution
+
+TLP-UI tries to solve this with a different approach. It supports an easy way to enable version updates to the UI
+without touching the code itself. By creating the config objects on-the-fly, the UI has the ability to be created
+for updated TLP configuration files only by providing an updated schema file. This file describes the configuration
+items and it's supported values.
+
+# Configuration schema
+
+The schema file contains multiple nested items. Categories contain groups of configs or configs directly. Categories are
+visualized as Gtk.Viewport within a Gtk.Notebook that contains a Gtk.Box with all related config group and items.
+Groups contain multiple config items that belong to each other and is translated into a Gtk.Label for better visibility.
+
+**Categories -> Configs/Config-groups -> Configs**
+
+Every config item contains:
+
+## id:
+
+The name of the config file which matches the exact value in the TLP config file.
+
+## type:
+
+The type of the config item which on the one hand defines the config options and on the other hand translates
+to a specific Gtk config object or set of GTK objects.
+
+### Basic config items
+
+| type | GTK widget | Description                               |
+|--|------------|-------------------------------------------|
+| bselect | GTK.Switch | Activate or deactivate config state. First value is disable, second one enable |
+| select | Gtk.ComboBoxText | Select box for pre defined values. Only one can be selected |
+| multiselect | Gtk.ToggleButton | Multiple toggle buttons which can be selected independently |
+| check | Gtk.CheckButton | Multiple check buttons which can be selected independently |
+| numeric | Gtk.SpinButton | Number selection for numeric config items |
+| entry | Gtk.Entry  | Free text field for too complex values or if no complex config item has been created yet |
+
+### Complex config items
+
+| type | Description                    |
+|--|--------------------------------|
+| disklist | Collection of multiple Gtk widgets that create a local disk overview |
+| disklistview | Label for disklist item values |
+| pcilist | Collection of multiple Gtk widgets that create a local pci device overview |
+| usblist | Collection of multiple Gtk widgets that create a local usb device overview |
+
+## values:
+
+Values are used to define ranges or to specify available configs.
+
+## Schema to UI transition
+
+The image below shows how the items from the configschema.yaml files translate to UI objects in Gtk.
+
+![schema-to-ui](schema_to_ui.jpg "Schema to UI")
diff --git a/docs/INSTALL.md b/docs/INSTALL.md
new file mode 100644
index 0000000..33d8255
--- /dev/null
+++ b/docs/INSTALL.md
@@ -0,0 +1,75 @@
+# Prerequisites
+
+In order to use Tlp-ui, make sure Tlp is installed first.
+
+*Debian*
+  ```sh
+  sudo apt install tlp tlp-rdw
+  ```
+
+*Arch / Manjaro*
+  ```shell
+  sudo pacman -S tlp tlp-rdw
+  ```
+
+
+# Prepacked runtimes
+
+## PyPI
+
+Tlp-ui is available on [pypi.org](https://pypi.org/project/tlpui/) and can simple be installed via.
+
+  ```shell
+  pip3 install tlpui
+  ```
+
+## Flatpak
+
+Instructions on how to install Flatpak version of Tlp-ui can be found [here](https://flathub.org/apps/com.github.d4nj1.tlpui).
+
+## Arch Linux
+
+[tlpui](https://aur.archlinux.org/packages/tlpui/) - Stable release.
+
+[tlpui-git](https://aur.archlinux.org/packages/tlpui-git) - If you always want to use the latest and greatest master branch version from Tlp-ui repository.
+
+
+# Run from sources
+
+If you want to run Tlp-ui from sources you have to install Gtk libraries first.
+
+*Debian*
+  ```shell
+  sudo apt install libcairo2-dev libgirepository1.0-dev
+  ```
+
+*Arch / Manjaro*
+  ```shell
+  sudo pacman -S cairo gobject-introspection gtk3
+  ```
+
+* Download and extract ZIP or pull repository
+* Open terminal and go to project folder
+
+## Poetry
+
+Make sure Poetry is installed on your system then install and run Tlp-ui with it's dependencies.
+
+  ```shell
+  poetry install
+  poetry run tlpui
+  ```
+
+## Python 3
+
+If you want to run Tlp-ui as a Python module just execute
+
+  ```shell
+  python3 -m tlpui
+  ```
+
+If you run in to issues when calling Tlp-ui like this, please try to solve by installing the following dependencies.
+
+  ```shell
+  pip3 install 'PyGObject>=3.46.0' 'PyYAML>=6.0.1' 'toml>=0.10.2'
+  ```
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..acc061f
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,19 @@
+In this place you will find all documentation in regards to installing, developing or contributing to TLP-UI.
+
+# Install
+
+This can be found in [install docs](INSTALL.md).
+
+# Development
+
+Please see [development docs](DEVELOPMENT.md) for implementation and technical details.
+
+# Contributions
+
+Contributions in the form of fixes and improvements are always welcome. Please feel free to open an issue request
+whenever you want to discuss any subject.
+
+# Translations
+
+Existing translations are handled by [Weblate](https://hosted.weblate.org/projects/tlpui/). If you want to add a new
+language please open a issue request and I will go ahead and create the necessary stubs on Weblate for it.
diff --git a/docs/schema_to_ui.jpg b/docs/schema_to_ui.jpg
new file mode 100644
index 0000000..bb1a0b1
Binary files /dev/null and b/docs/schema_to_ui.jpg differ
diff --git a/docs/schema_to_ui.xml b/docs/schema_to_ui.xml
new file mode 100644
index 0000000..1dc3e0a
--- /dev/null
+++ b/docs/schema_to_ui.xml
@@ -0,0 +1,100 @@
+<mxfile host="app.diagrams.net" modified="2024-01-01T18:21:56.134Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" version="22.1.16" etag="a0vLzNjLL3msomezGvh8" type="device">
+  <diagram id="36dad9ed-7063-273f-9393-d4b1f9a114a0" name="Page-1">
+    <mxGraphModel dx="3781" dy="1093" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" background="#ffffff" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="2" value="configschema.yaml" style="rounded=0;whiteSpace=wrap;html=1;labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;fontStyle=1" parent="1" vertex="1">
+          <mxGeometry x="-30" y="78" width="450" height="632" as="geometry" />
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-9" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/png,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;strokeColor=#000099;clipPath=inset(0% 0% 22.33% 0%);" vertex="1" parent="1">
+          <mxGeometry x="1.1699999999999997" y="104.5" width="387.65" height="579" as="geometry" />
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-11" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#009900;strokeWidth=2;" vertex="1" parent="1">
+          <mxGeometry x="45" y="432" width="355" height="232" as="geometry" />
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-30" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#004C99;strokeWidth=2;" vertex="1" parent="1">
+          <mxGeometry x="80" y="464" width="290" height="146" as="geometry" />
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-27" value="&lt;p style=&quot;line-height: 120%;&quot;&gt;&lt;br&gt;&lt;/p&gt;" style="rounded=0;whiteSpace=wrap;html=1;align=center;" vertex="1" parent="1">
+          <mxGeometry x="568.95" y="107" width="630" height="400" as="geometry" />
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-10" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=default;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/png,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;" vertex="1" parent="1">
+          <mxGeometry x="586" y="117" width="595.91" height="380" as="geometry" />
+        </mxCell>
+        <mxCell id="9" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#009900;strokeWidth=2;" parent="1" vertex="1">
+          <mxGeometry x="46" y="127" width="130" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="8" value="" style="endArrow=classic;html=1;exitX=1;exitY=0.5;entryX=0.002;entryY=0.075;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#009900;strokeWidth=2;" parent="1" source="9" target="3GVaqlsl1EuIjnti9V3K-27" edge="1">
+          <mxGeometry width="50" height="50" relative="1" as="geometry">
+            <mxPoint x="330" y="70" as="sourcePoint" />
+            <mxPoint x="670" y="133" as="targetPoint" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-16" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#009999;strokeWidth=2;" vertex="1" parent="1">
+          <mxGeometry x="110" y="505" width="230" height="52" as="geometry" />
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-17" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#009999;strokeWidth=2;" vertex="1" parent="1">
+          <mxGeometry x="110" y="558" width="230" height="53" as="geometry" />
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-18" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#009999;strokeWidth=2;" vertex="1" parent="1">
+          <mxGeometry x="80" y="611" width="260" height="53" as="geometry" />
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1.001;entryY=0.148;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#009999;strokeWidth=2;" edge="1" parent="1" source="3GVaqlsl1EuIjnti9V3K-16" target="3GVaqlsl1EuIjnti9V3K-27">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="1320" y="162" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="340" y="526" />
+              <mxPoint x="1320" y="526" />
+              <mxPoint x="1320" y="166" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.246;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#009999;strokeWidth=2;" edge="1" parent="1" source="3GVaqlsl1EuIjnti9V3K-17" target="3GVaqlsl1EuIjnti9V3K-27">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="1320" y="197" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="340" y="580" />
+              <mxPoint x="1280" y="580" />
+              <mxPoint x="1280" y="205" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1.001;entryY=0.547;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#009999;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=2;" edge="1" parent="1" source="3GVaqlsl1EuIjnti9V3K-18" target="3GVaqlsl1EuIjnti9V3K-27">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="470" y="640" as="sourcePoint" />
+            <mxPoint x="1320" y="317" as="targetPoint" />
+            <Array as="points">
+              <mxPoint x="340" y="634" />
+              <mxPoint x="1240" y="634" />
+              <mxPoint x="1240" y="326" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.165;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#009900;strokeWidth=2;" edge="1" parent="1" target="3GVaqlsl1EuIjnti9V3K-27">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="400" y="470" as="sourcePoint" />
+            <Array as="points">
+              <mxPoint x="460" y="470" />
+              <mxPoint x="460" y="173" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-31" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.347;entryY=-0.001;entryDx=0;entryDy=0;entryPerimeter=0;strokeColor=#004C99;exitX=1;exitY=0.25;exitDx=0;exitDy=0;strokeWidth=2;" edge="1" parent="1" source="3GVaqlsl1EuIjnti9V3K-30" target="3GVaqlsl1EuIjnti9V3K-27">
+          <mxGeometry relative="1" as="geometry">
+            <mxPoint x="410" y="497" as="sourcePoint" />
+            <Array as="points">
+              <mxPoint x="370" y="497" />
+              <mxPoint x="510" y="497" />
+              <mxPoint x="510" y="70" />
+              <mxPoint x="788" y="70" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="3GVaqlsl1EuIjnti9V3K-33" value="GTK-UI" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" vertex="1" parent="1">
+          <mxGeometry x="853.95" y="78" width="60" height="30" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>
diff --git a/docs/ui_config.png b/docs/ui_config.png
new file mode 100644
index 0000000..5c0fae1
Binary files /dev/null and b/docs/ui_config.png differ
diff --git a/docs/yaml_config.png b/docs/yaml_config.png
new file mode 100644
index 0000000..19787b5
Binary files /dev/null and b/docs/yaml_config.png differ
diff --git a/poetry.lock b/poetry.lock
new file mode 100644
index 0000000..0809f8e
--- /dev/null
+++ b/poetry.lock
@@ -0,0 +1,567 @@
+# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand.
+
+[[package]]
+name = "astroid"
+version = "3.0.2"
+description = "An abstract syntax tree for Python with inference support."
+optional = false
+python-versions = ">=3.8.0"
+files = [
+    {file = "astroid-3.0.2-py3-none-any.whl", hash = "sha256:d6e62862355f60e716164082d6b4b041d38e2a8cf1c7cd953ded5108bac8ff5c"},
+    {file = "astroid-3.0.2.tar.gz", hash = "sha256:4a61cf0a59097c7bb52689b0fd63717cd2a8a14dc9f1eee97b82d814881c8c91"},
+]
+
+[package.dependencies]
+typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""}
+
+[[package]]
+name = "cachetools"
+version = "5.3.2"
+description = "Extensible memoizing collections and decorators"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "cachetools-5.3.2-py3-none-any.whl", hash = "sha256:861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1"},
+    {file = "cachetools-5.3.2.tar.gz", hash = "sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2"},
+]
+
+[[package]]
+name = "chardet"
+version = "5.2.0"
+description = "Universal encoding detector for Python 3"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"},
+    {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"},
+]
+
+[[package]]
+name = "colorama"
+version = "0.4.6"
+description = "Cross-platform colored terminal text."
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
+files = [
+    {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
+    {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
+]
+
+[[package]]
+name = "coverage"
+version = "7.4.0"
+description = "Code coverage measurement for Python"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "coverage-7.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36b0ea8ab20d6a7564e89cb6135920bc9188fb5f1f7152e94e8300b7b189441a"},
+    {file = "coverage-7.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0676cd0ba581e514b7f726495ea75aba3eb20899d824636c6f59b0ed2f88c471"},
+    {file = "coverage-7.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0ca5c71a5a1765a0f8f88022c52b6b8be740e512980362f7fdbb03725a0d6b9"},
+    {file = "coverage-7.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7c97726520f784239f6c62506bc70e48d01ae71e9da128259d61ca5e9788516"},
+    {file = "coverage-7.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:815ac2d0f3398a14286dc2cea223a6f338109f9ecf39a71160cd1628786bc6f5"},
+    {file = "coverage-7.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:80b5ee39b7f0131ebec7968baa9b2309eddb35b8403d1869e08f024efd883566"},
+    {file = "coverage-7.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5b2ccb7548a0b65974860a78c9ffe1173cfb5877460e5a229238d985565574ae"},
+    {file = "coverage-7.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:995ea5c48c4ebfd898eacb098164b3cc826ba273b3049e4a889658548e321b43"},
+    {file = "coverage-7.4.0-cp310-cp310-win32.whl", hash = "sha256:79287fd95585ed36e83182794a57a46aeae0b64ca53929d1176db56aacc83451"},
+    {file = "coverage-7.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:5b14b4f8760006bfdb6e08667af7bc2d8d9bfdb648351915315ea17645347137"},
+    {file = "coverage-7.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:04387a4a6ecb330c1878907ce0dc04078ea72a869263e53c72a1ba5bbdf380ca"},
+    {file = "coverage-7.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea81d8f9691bb53f4fb4db603203029643caffc82bf998ab5b59ca05560f4c06"},
+    {file = "coverage-7.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74775198b702868ec2d058cb92720a3c5a9177296f75bd97317c787daf711505"},
+    {file = "coverage-7.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76f03940f9973bfaee8cfba70ac991825611b9aac047e5c80d499a44079ec0bc"},
+    {file = "coverage-7.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:485e9f897cf4856a65a57c7f6ea3dc0d4e6c076c87311d4bc003f82cfe199d25"},
+    {file = "coverage-7.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6ae8c9d301207e6856865867d762a4b6fd379c714fcc0607a84b92ee63feff70"},
+    {file = "coverage-7.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bf477c355274a72435ceb140dc42de0dc1e1e0bf6e97195be30487d8eaaf1a09"},
+    {file = "coverage-7.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:83c2dda2666fe32332f8e87481eed056c8b4d163fe18ecc690b02802d36a4d26"},
+    {file = "coverage-7.4.0-cp311-cp311-win32.whl", hash = "sha256:697d1317e5290a313ef0d369650cfee1a114abb6021fa239ca12b4849ebbd614"},
+    {file = "coverage-7.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:26776ff6c711d9d835557ee453082025d871e30b3fd6c27fcef14733f67f0590"},
+    {file = "coverage-7.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:13eaf476ec3e883fe3e5fe3707caeb88268a06284484a3daf8250259ef1ba143"},
+    {file = "coverage-7.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846f52f46e212affb5bcf131c952fb4075b55aae6b61adc9856222df89cbe3e2"},
+    {file = "coverage-7.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26f66da8695719ccf90e794ed567a1549bb2644a706b41e9f6eae6816b398c4a"},
+    {file = "coverage-7.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:164fdcc3246c69a6526a59b744b62e303039a81e42cfbbdc171c91a8cc2f9446"},
+    {file = "coverage-7.4.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:316543f71025a6565677d84bc4df2114e9b6a615aa39fb165d697dba06a54af9"},
+    {file = "coverage-7.4.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bb1de682da0b824411e00a0d4da5a784ec6496b6850fdf8c865c1d68c0e318dd"},
+    {file = "coverage-7.4.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:0e8d06778e8fbffccfe96331a3946237f87b1e1d359d7fbe8b06b96c95a5407a"},
+    {file = "coverage-7.4.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a56de34db7b7ff77056a37aedded01b2b98b508227d2d0979d373a9b5d353daa"},
+    {file = "coverage-7.4.0-cp312-cp312-win32.whl", hash = "sha256:51456e6fa099a8d9d91497202d9563a320513fcf59f33991b0661a4a6f2ad450"},
+    {file = "coverage-7.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:cd3c1e4cb2ff0083758f09be0f77402e1bdf704adb7f89108007300a6da587d0"},
+    {file = "coverage-7.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e9d1bf53c4c8de58d22e0e956a79a5b37f754ed1ffdbf1a260d9dcfa2d8a325e"},
+    {file = "coverage-7.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:109f5985182b6b81fe33323ab4707011875198c41964f014579cf82cebf2bb85"},
+    {file = "coverage-7.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cc9d4bc55de8003663ec94c2f215d12d42ceea128da8f0f4036235a119c88ac"},
+    {file = "coverage-7.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cc6d65b21c219ec2072c1293c505cf36e4e913a3f936d80028993dd73c7906b1"},
+    {file = "coverage-7.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a10a4920def78bbfff4eff8a05c51be03e42f1c3735be42d851f199144897ba"},
+    {file = "coverage-7.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b8e99f06160602bc64da35158bb76c73522a4010f0649be44a4e167ff8555952"},
+    {file = "coverage-7.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:7d360587e64d006402b7116623cebf9d48893329ef035278969fa3bbf75b697e"},
+    {file = "coverage-7.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:29f3abe810930311c0b5d1a7140f6395369c3db1be68345638c33eec07535105"},
+    {file = "coverage-7.4.0-cp38-cp38-win32.whl", hash = "sha256:5040148f4ec43644702e7b16ca864c5314ccb8ee0751ef617d49aa0e2d6bf4f2"},
+    {file = "coverage-7.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:9864463c1c2f9cb3b5db2cf1ff475eed2f0b4285c2aaf4d357b69959941aa555"},
+    {file = "coverage-7.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:936d38794044b26c99d3dd004d8af0035ac535b92090f7f2bb5aa9c8e2f5cd42"},
+    {file = "coverage-7.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:799c8f873794a08cdf216aa5d0531c6a3747793b70c53f70e98259720a6fe2d7"},
+    {file = "coverage-7.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7defbb9737274023e2d7af02cac77043c86ce88a907c58f42b580a97d5bcca9"},
+    {file = "coverage-7.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a1526d265743fb49363974b7aa8d5899ff64ee07df47dd8d3e37dcc0818f09ed"},
+    {file = "coverage-7.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf635a52fc1ea401baf88843ae8708591aa4adff875e5c23220de43b1ccf575c"},
+    {file = "coverage-7.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:756ded44f47f330666843b5781be126ab57bb57c22adbb07d83f6b519783b870"},
+    {file = "coverage-7.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:0eb3c2f32dabe3a4aaf6441dde94f35687224dfd7eb2a7f47f3fd9428e421058"},
+    {file = "coverage-7.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bfd5db349d15c08311702611f3dccbef4b4e2ec148fcc636cf8739519b4a5c0f"},
+    {file = "coverage-7.4.0-cp39-cp39-win32.whl", hash = "sha256:53d7d9158ee03956e0eadac38dfa1ec8068431ef8058fe6447043db1fb40d932"},
+    {file = "coverage-7.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:cfd2a8b6b0d8e66e944d47cdec2f47c48fef2ba2f2dff5a9a75757f64172857e"},
+    {file = "coverage-7.4.0-pp38.pp39.pp310-none-any.whl", hash = "sha256:c530833afc4707fe48524a44844493f36d8727f04dcce91fb978c414a8556cc6"},
+    {file = "coverage-7.4.0.tar.gz", hash = "sha256:707c0f58cb1712b8809ece32b68996ee1e609f71bd14615bd8f87a1293cb610e"},
+]
+
+[package.dependencies]
+tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""}
+
+[package.extras]
+toml = ["tomli"]
+
+[[package]]
+name = "dill"
+version = "0.3.7"
+description = "serialize all of Python"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"},
+    {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"},
+]
+
+[package.extras]
+graph = ["objgraph (>=1.7.2)"]
+
+[[package]]
+name = "distlib"
+version = "0.3.8"
+description = "Distribution utilities"
+optional = false
+python-versions = "*"
+files = [
+    {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"},
+    {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"},
+]
+
+[[package]]
+name = "exceptiongroup"
+version = "1.2.0"
+description = "Backport of PEP 654 (exception groups)"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"},
+    {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"},
+]
+
+[package.extras]
+test = ["pytest (>=6)"]
+
+[[package]]
+name = "filelock"
+version = "3.13.1"
+description = "A platform independent file lock."
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"},
+    {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"},
+]
+
+[package.extras]
+docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"]
+testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"]
+typing = ["typing-extensions (>=4.8)"]
+
+[[package]]
+name = "iniconfig"
+version = "2.0.0"
+description = "brain-dead simple config-ini parsing"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"},
+    {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"},
+]
+
+[[package]]
+name = "isort"
+version = "5.13.2"
+description = "A Python utility / library to sort Python imports."
+optional = false
+python-versions = ">=3.8.0"
+files = [
+    {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"},
+    {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"},
+]
+
+[package.extras]
+colors = ["colorama (>=0.4.6)"]
+
+[[package]]
+name = "mccabe"
+version = "0.7.0"
+description = "McCabe checker, plugin for flake8"
+optional = false
+python-versions = ">=3.6"
+files = [
+    {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"},
+    {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"},
+]
+
+[[package]]
+name = "packaging"
+version = "23.2"
+description = "Core utilities for Python packages"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"},
+    {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"},
+]
+
+[[package]]
+name = "platformdirs"
+version = "4.1.0"
+description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "platformdirs-4.1.0-py3-none-any.whl", hash = "sha256:11c8f37bcca40db96d8144522d925583bdb7a31f7b0e37e3ed4318400a8e2380"},
+    {file = "platformdirs-4.1.0.tar.gz", hash = "sha256:906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420"},
+]
+
+[package.extras]
+docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"]
+test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"]
+
+[[package]]
+name = "pluggy"
+version = "1.3.0"
+description = "plugin and hook calling mechanisms for python"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"},
+    {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"},
+]
+
+[package.extras]
+dev = ["pre-commit", "tox"]
+testing = ["pytest", "pytest-benchmark"]
+
+[[package]]
+name = "pycairo"
+version = "1.25.1"
+description = "Python interface for cairo"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "pycairo-1.25.1-cp310-cp310-win32.whl", hash = "sha256:cacb5c2abbfdfc79c728ab261ff791511e4957b606c660f9b380975b678b728f"},
+    {file = "pycairo-1.25.1-cp310-cp310-win_amd64.whl", hash = "sha256:109ebbeb5bbc510b726fc31251071264dec241e5084d0668f846d7e17e5af8e0"},
+    {file = "pycairo-1.25.1-cp310-cp310-win_arm64.whl", hash = "sha256:b19269a8bf9ab5e3c617f2699bed00977fd02ff304339a233654456c0236f7c6"},
+    {file = "pycairo-1.25.1-cp311-cp311-win32.whl", hash = "sha256:b10e58a3ce41e487aae15050b630742e880d4135cee7a69cee2c0ea2a0b4bd0a"},
+    {file = "pycairo-1.25.1-cp311-cp311-win_amd64.whl", hash = "sha256:fcf5511b05a652a0ef87f626bf26bfc1b796a67f0d1bd40781c62986fb41c356"},
+    {file = "pycairo-1.25.1-cp311-cp311-win_arm64.whl", hash = "sha256:4133ba3ef6d875aa1b16643dc0801846f463b8e78750f5308c41902dfeac5b9a"},
+    {file = "pycairo-1.25.1-cp312-cp312-win32.whl", hash = "sha256:56fee2837a07ecd914f4fbf78ff59445f78becd658fe36125101925dd489eb94"},
+    {file = "pycairo-1.25.1-cp312-cp312-win_amd64.whl", hash = "sha256:fb31eec2c41ec74e23dc0fc9feb4007b4c37f78ec76220ed92530b342e09821a"},
+    {file = "pycairo-1.25.1-cp312-cp312-win_arm64.whl", hash = "sha256:27011d822952d7817130fc17f490de94328590bc8d45bdbca9ec4a47039fca22"},
+    {file = "pycairo-1.25.1-cp38-cp38-win32.whl", hash = "sha256:9a7c5ed92fe87f60e9796777d5255f2df2deeb8ab1e3c296e67a1d8c9790808c"},
+    {file = "pycairo-1.25.1-cp38-cp38-win_amd64.whl", hash = "sha256:48603ad31616140ad6fa097f13086d0ce8f29ead35ad6a215962f3b0496a5a70"},
+    {file = "pycairo-1.25.1-cp39-cp39-win32.whl", hash = "sha256:97666c084e9eb1c08c7fd6d306d153767acdf03c0d80349ec55863cecd4138e0"},
+    {file = "pycairo-1.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:ac5437d140eccd97af12a618cc1ace0d9a85f1269f29e963751949f132828b21"},
+    {file = "pycairo-1.25.1-cp39-cp39-win_arm64.whl", hash = "sha256:bda5d10adbf1f5eba6b524b5a70ccf7f659680b77e691ff94b312f25a6fcc91f"},
+    {file = "pycairo-1.25.1.tar.gz", hash = "sha256:7e2be4fbc3b4536f16db7a11982cbf713e75069a4d73d44fe5a49b68423f5c0c"},
+]
+
+[[package]]
+name = "pycodestyle"
+version = "2.11.1"
+description = "Python style guide checker"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"},
+    {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"},
+]
+
+[[package]]
+name = "pydocstyle"
+version = "6.3.0"
+description = "Python docstring style checker"
+optional = false
+python-versions = ">=3.6"
+files = [
+    {file = "pydocstyle-6.3.0-py3-none-any.whl", hash = "sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019"},
+    {file = "pydocstyle-6.3.0.tar.gz", hash = "sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1"},
+]
+
+[package.dependencies]
+snowballstemmer = ">=2.2.0"
+
+[package.extras]
+toml = ["tomli (>=1.2.3)"]
+
+[[package]]
+name = "pygobject"
+version = "3.46.0"
+description = "Python bindings for GObject Introspection"
+optional = false
+python-versions = ">=3.8, <4"
+files = [
+    {file = "PyGObject-3.46.0.tar.gz", hash = "sha256:481437b05af0a66b7c366ea052710eb3aacbb979d22d30b797f7ec29347ab1e6"},
+]
+
+[package.dependencies]
+pycairo = ">=1.16,<2.0"
+
+[[package]]
+name = "pylint"
+version = "3.0.3"
+description = "python code static checker"
+optional = false
+python-versions = ">=3.8.0"
+files = [
+    {file = "pylint-3.0.3-py3-none-any.whl", hash = "sha256:7a1585285aefc5165db81083c3e06363a27448f6b467b3b0f30dbd0ac1f73810"},
+    {file = "pylint-3.0.3.tar.gz", hash = "sha256:58c2398b0301e049609a8429789ec6edf3aabe9b6c5fec916acd18639c16de8b"},
+]
+
+[package.dependencies]
+astroid = ">=3.0.1,<=3.1.0-dev0"
+colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""}
+dill = [
+    {version = ">=0.2", markers = "python_version < \"3.11\""},
+    {version = ">=0.3.7", markers = "python_version >= \"3.12\""},
+    {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""},
+]
+isort = ">=4.2.5,<5.13.0 || >5.13.0,<6"
+mccabe = ">=0.6,<0.8"
+platformdirs = ">=2.2.0"
+tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""}
+tomlkit = ">=0.10.1"
+typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""}
+
+[package.extras]
+spelling = ["pyenchant (>=3.2,<4.0)"]
+testutils = ["gitpython (>3)"]
+
+[[package]]
+name = "pyproject-api"
+version = "1.6.1"
+description = "API to interact with the python pyproject.toml based projects"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "pyproject_api-1.6.1-py3-none-any.whl", hash = "sha256:4c0116d60476b0786c88692cf4e325a9814965e2469c5998b830bba16b183675"},
+    {file = "pyproject_api-1.6.1.tar.gz", hash = "sha256:1817dc018adc0d1ff9ca1ed8c60e1623d5aaca40814b953af14a9cf9a5cae538"},
+]
+
+[package.dependencies]
+packaging = ">=23.1"
+tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""}
+
+[package.extras]
+docs = ["furo (>=2023.8.19)", "sphinx (<7.2)", "sphinx-autodoc-typehints (>=1.24)"]
+testing = ["covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "setuptools (>=68.1.2)", "wheel (>=0.41.2)"]
+
+[[package]]
+name = "pytest"
+version = "7.4.4"
+description = "pytest: simple powerful testing with Python"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"},
+    {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"},
+]
+
+[package.dependencies]
+colorama = {version = "*", markers = "sys_platform == \"win32\""}
+exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
+iniconfig = "*"
+packaging = "*"
+pluggy = ">=0.12,<2.0"
+tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
+
+[package.extras]
+testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"]
+
+[[package]]
+name = "pytest-cov"
+version = "4.1.0"
+description = "Pytest plugin for measuring coverage."
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "pytest-cov-4.1.0.tar.gz", hash = "sha256:3904b13dfbfec47f003b8e77fd5b589cd11904a21ddf1ab38a64f204d6a10ef6"},
+    {file = "pytest_cov-4.1.0-py3-none-any.whl", hash = "sha256:6ba70b9e97e69fcc3fb45bfeab2d0a138fb65c4d0d6a41ef33983ad114be8c3a"},
+]
+
+[package.dependencies]
+coverage = {version = ">=5.2.1", extras = ["toml"]}
+pytest = ">=4.6"
+
+[package.extras]
+testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtualenv"]
+
+[[package]]
+name = "pyyaml"
+version = "6.0.1"
+description = "YAML parser and emitter for Python"
+optional = false
+python-versions = ">=3.6"
+files = [
+    {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"},
+    {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"},
+    {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
+    {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
+    {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
+    {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
+    {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
+    {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
+    {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"},
+    {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"},
+    {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"},
+    {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"},
+    {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"},
+    {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"},
+    {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"},
+    {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"},
+    {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"},
+    {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"},
+    {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"},
+    {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"},
+    {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"},
+    {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"},
+    {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"},
+    {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"},
+    {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"},
+    {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"},
+    {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"},
+    {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"},
+    {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"},
+    {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"},
+    {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"},
+    {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"},
+    {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"},
+    {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"},
+    {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"},
+    {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"},
+    {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"},
+    {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"},
+    {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"},
+    {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"},
+    {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"},
+    {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"},
+    {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"},
+    {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"},
+    {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"},
+    {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"},
+    {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"},
+    {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"},
+    {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
+    {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
+]
+
+[[package]]
+name = "snowballstemmer"
+version = "2.2.0"
+description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms."
+optional = false
+python-versions = "*"
+files = [
+    {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"},
+    {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"},
+]
+
+[[package]]
+name = "toml"
+version = "0.10.2"
+description = "Python Library for Tom's Obvious, Minimal Language"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+files = [
+    {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
+    {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
+]
+
+[[package]]
+name = "tomli"
+version = "2.0.1"
+description = "A lil' TOML parser"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"},
+    {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
+]
+
+[[package]]
+name = "tomlkit"
+version = "0.12.3"
+description = "Style preserving TOML library"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "tomlkit-0.12.3-py3-none-any.whl", hash = "sha256:b0a645a9156dc7cb5d3a1f0d4bab66db287fcb8e0430bdd4664a095ea16414ba"},
+    {file = "tomlkit-0.12.3.tar.gz", hash = "sha256:75baf5012d06501f07bee5bf8e801b9f343e7aac5a92581f20f80ce632e6b5a4"},
+]
+
+[[package]]
+name = "tox"
+version = "4.12.1"
+description = "tox is a generic virtualenv management and test command line tool"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "tox-4.12.1-py3-none-any.whl", hash = "sha256:c07ea797880a44f3c4f200ad88ad92b446b83079d4ccef89585df64cc574375c"},
+    {file = "tox-4.12.1.tar.gz", hash = "sha256:61aafbeff1bd8a5af84e54ef6e8402f53c6a6066d0782336171ddfbf5362122e"},
+]
+
+[package.dependencies]
+cachetools = ">=5.3.2"
+chardet = ">=5.2"
+colorama = ">=0.4.6"
+filelock = ">=3.13.1"
+packaging = ">=23.2"
+platformdirs = ">=4.1"
+pluggy = ">=1.3"
+pyproject-api = ">=1.6.1"
+tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""}
+virtualenv = ">=20.25"
+
+[package.extras]
+docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-argparse-cli (>=1.11.1)", "sphinx-autodoc-typehints (>=1.25.2)", "sphinx-copybutton (>=0.5.2)", "sphinx-inline-tabs (>=2023.4.21)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.11)"]
+testing = ["build[virtualenv] (>=1.0.3)", "covdefaults (>=2.3)", "detect-test-pollution (>=1.2)", "devpi-process (>=1)", "diff-cover (>=8.0.2)", "distlib (>=0.3.8)", "flaky (>=3.7)", "hatch-vcs (>=0.4)", "hatchling (>=1.21)", "psutil (>=5.9.7)", "pytest (>=7.4.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-xdist (>=3.5)", "re-assert (>=1.1)", "time-machine (>=2.13)", "wheel (>=0.42)"]
+
+[[package]]
+name = "typing-extensions"
+version = "4.9.0"
+description = "Backported and Experimental Type Hints for Python 3.8+"
+optional = false
+python-versions = ">=3.8"
+files = [
+    {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"},
+    {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"},
+]
+
+[[package]]
+name = "virtualenv"
+version = "20.25.0"
+description = "Virtual Python Environment builder"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "virtualenv-20.25.0-py3-none-any.whl", hash = "sha256:4238949c5ffe6876362d9c0180fc6c3a824a7b12b80604eeb8085f2ed7460de3"},
+    {file = "virtualenv-20.25.0.tar.gz", hash = "sha256:bf51c0d9c7dd63ea8e44086fa1e4fb1093a31e963b86959257378aef020e1f1b"},
+]
+
+[package.dependencies]
+distlib = ">=0.3.7,<1"
+filelock = ">=3.12.2,<4"
+platformdirs = ">=3.9.1,<5"
+
+[package.extras]
+docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"]
+test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"]
+
+[metadata]
+lock-version = "2.0"
+python-versions = "^3.8.1"
+content-hash = "6c0302adb31638973f8f94749887f9ddf80fa956e267f2eaa415d9b22026f00a"
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..6ebaa54
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,33 @@
+[tool.poetry]
+name = "tlpui"
+version = "1.7.0"
+description = "GTK UI for tlp"
+license = "GPL-2.0-or-later"
+authors = ["Daniel Christophis <code@devmind.org>"]
+readme = "README.md"
+homepage = "https://github.com/d4nj1/TLPUI"
+repository = "https://github.com/d4nj1/TLPUI"
+documentation = "https://github.com/d4nj1/TLPUI/docs"
+keywords = ["battery", "power", "config"]
+classifiers = ["Topic :: Utilities"]
+
+[tool.poetry.scripts]
+tlpui = "tlpui.__main__:main"
+
+[tool.poetry.dependencies]
+python = "^3.8.1"
+pygobject = "^3.46.0"
+pyyaml = "^6.0.1"
+toml = "^0.10.2"
+
+[tool.poetry.group.dev.dependencies]
+tox = "^4.12.1"
+pytest = "^7.4.4"
+pytest-cov = "^4.1.0"
+pylint = "^3.0.3"
+pycodestyle = "^2.11.1"
+pydocstyle = "^6.3.0"
+
+[build-system]
+requires = ["poetry-core"]
+build-backend = "poetry.core.masonry.api"
diff --git a/setup.py b/setup.py
deleted file mode 100644
index 01f7aba..0000000
--- a/setup.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from setuptools import setup
-from tlpui import __version__
-
-setup(
-    name="TLPUI",
-    version=__version__,
-    author="Daniel Christophis",
-    author_email="code@devmind.org",
-    description="GTK UI for tlp (Python 3)",
-    long_description="The Python scripts in this project generate a GTK-UI to change TLP configuration files easily",
-    long_description_content_type="text/plain",
-    url="https://github.com/d4nj1/TLPUI",
-    license="GPLv2",
-    packages=["tlpui", "tlpui.ui_config_objects"],
-    package_data={'tlpui': [
-        'styles.css',
-        'configschema/*.json',
-        'defaults/*.conf',
-        'icons/*.svg',
-        'icons/flags/*.png',
-        'icons/themeable/hicolor/scalable/actions/*.svg',
-        'icons/themeable/hicolor/scalable/apps/*.svg',
-        'lang/*/LC_MESSAGES/*.mo'
-    ]},
-    entry_points={
-        'gui_scripts': [
-            'tlpui = tlpui.__main__:main'
-        ]
-    },
-    data_files=[
-        ('share/applications', ["tlpui.desktop"])
-    ]
-)
diff --git a/stdeb.cfg b/stdeb.cfg
deleted file mode 100644
index 14f6c26..0000000
--- a/stdeb.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-[DEFAULT]
-Depends3: tlp(>=0.8)
diff --git a/tlpui/__init__.py b/tlpui/__init__.py
index 6dab0d2..bc482ff 100644
--- a/tlpui/__init__.py
+++ b/tlpui/__init__.py
@@ -1,3 +1,1 @@
 """Init module for TLPUI."""
-
-__version__ = "1.6.1"
diff --git a/tlpui/configschema/0_8.json b/tlpui/configschema/0_8.json
deleted file mode 100644
index 901cbf3..0000000
--- a/tlpui/configschema/0_8.json
+++ /dev/null
@@ -1,739 +0,0 @@
-{
-  "categories": [
-    {
-      "name": "General",
-      "configs": [
-        {
-          "id": "TLP_ENABLE",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "TLP_DEFAULT_MODE",
-          "type": "select",
-          "values": "AC,BAT",
-          "default_value": "AC",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Audio",
-      "configs": [
-        {
-          "group": "SOUND_POWER_SAVE",
-          "ids": [
-            {
-              "id": "SOUND_POWER_SAVE_ON_AC",
-              "type": "numeric",
-              "values": "0-3600",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "SOUND_POWER_SAVE_ON_BAT",
-              "type": "numeric",
-              "values": "0-3600",
-              "default_value": "1",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "SOUND_POWER_SAVE_CONTROLLER",
-          "type": "bselect",
-          "values": "N,Y",
-          "default_value": "Y",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Disks",
-      "configs": [
-        {
-          "group": "DISK_IDLE_SECS",
-          "ids": [
-            {
-              "id": "DISK_IDLE_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-1000",
-              "default_value": 0,
-              "default_state": true
-            },
-            {
-              "id": "DISK_IDLE_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-1000",
-              "default_value": 2,
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "MAX_LOST_WORK_SECS",
-          "ids": [
-              {
-              "id": "MAX_LOST_WORK_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-10000",
-              "default_value": 15,
-              "default_state": true
-            },
-            {
-              "id": "MAX_LOST_WORK_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-10000",
-              "default_value": 60,
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "DISK_DEVICES",
-          "type": "entry",
-          "values": "",
-          "default_value": "sda sdb",
-          "default_state": true
-        },
-        {
-          "group": "DISK_APM_LEVEL",
-          "ids": [
-            {
-              "id": "DISK_APM_LEVEL_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": "254 254",
-              "default_state": true
-            },
-            {
-              "id": "DISK_APM_LEVEL_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": "128 128",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "DISK_SPINDOWN_TIMEOUT",
-          "ids": [
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": "0 0",
-              "default_state": false
-            },
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": "0 0",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "DISK_IOSCHED",
-          "type": "entry",
-          "values": "",
-          "default_value": "cfq cfq",
-          "default_state": false
-        },
-        {
-          "group": "SATA_LINKPWR",
-          "ids": [
-            {
-              "id": "SATA_LINKPWR_ON_AC",
-              "type": "select",
-              "values": "min_power,medium_power,max_performance",
-              "default_value": "max_performance",
-              "default_state": true
-            },
-            {
-              "id": "SATA_LINKPWR_ON_BAT",
-              "type": "select",
-              "values": "min_power,medium_power,max_performance",
-              "default_value": "min_power",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "BAY_POWEROFF_ON_BAT",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "BAY_DEVICE",
-          "type": "entry",
-          "values": "",
-          "default_value": "sr0",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Graphics",
-      "configs": [
-        {
-          "group": "RADEON_POWER_PROFILE",
-          "ids": [
-            {
-              "id": "RADEON_POWER_PROFILE_ON_AC",
-              "type": "select",
-              "values": "low,mid,high,auto,default",
-              "default_value": "high",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_POWER_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "low,mid,high,auto,default",
-              "default_value": "low",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_STATE",
-          "ids": [
-            {
-              "id": "RADEON_DPM_STATE_ON_AC",
-              "type": "select",
-              "values": "battery,performance",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_DPM_STATE_ON_BAT",
-              "type": "select",
-              "values": "battery,performance",
-              "default_value": "battery",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_PERF_LEVEL",
-          "ids": [
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_AC",
-              "type": "select",
-              "values": "auto,low,high",
-              "default_value": "auto",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_BAT",
-              "type": "select",
-              "values": "auto,low,high",
-              "default_value": "auto",
-              "default_state": true
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Network",
-      "configs": [
-        {
-          "group": "WIFI_PWR",
-          "ids": [
-            {
-              "id": "WIFI_PWR_ON_AC",
-              "type": "bselect",
-              "values": "1,5",
-              "default_value": "1",
-              "default_state": true
-            },
-            {
-              "id": "WIFI_PWR_ON_BAT",
-              "type": "bselect",
-              "values": "1,5",
-              "default_value": "5",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "WOL_DISABLE",
-          "type": "bselect",
-          "values": "N,Y",
-          "default_value": "Y",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "PCIe",
-      "configs": [
-        {
-          "group": "PCIE_ASPM",
-          "ids": [
-            {
-              "id": "PCIE_ASPM_ON_AC",
-              "type": "select",
-              "values": "default,performance,powersave",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "PCIE_ASPM_ON_BAT",
-              "type": "select",
-              "values": "default,performance,powersave",
-              "default_value": "powersave",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RUNTIME_PM",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": true
-            },
-            {
-              "id": "RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "auto",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "RUNTIME_PM_ALL",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "RUNTIME_PM_BLACKLIST",
-          "type": "pcilist",
-          "values": "",
-          "default_value": "bb:dd.f 11:22.3 44:55.6",
-          "default_state": false
-        },
-        {
-          "id": "RUNTIME_PM_DRIVER_BLACKLIST",
-          "type": "entry",
-          "values": "",
-          "default_value": "radeon nouveau",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Processor",
-      "configs": [
-        {
-          "group": "CPU_SCALING_GOVERNOR",
-          "ids": [
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_AC",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative",
-              "default_value": "powersave",
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_BAT",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative",
-              "default_value": "powersave",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_SCALING_FREQ",
-          "ids": [
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_PERF",
-          "ids": [
-            {
-              "id": "CPU_MIN_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value":100,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MIN_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 30,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_BOOST",
-          "ids": [
-            {
-              "id": "CPU_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "1",
-              "default_state": false
-            },
-            {
-              "id": "CPU_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "SCHED_POWERSAVE",
-          "ids": [
-            {
-              "id": "SCHED_POWERSAVE_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "SCHED_POWERSAVE_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "1",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "NMI_WATCHDOG",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "PHC_CONTROLS",
-          "type": "entry",
-          "values": "",
-          "default_value": "F:V F:V F:V F:V",
-          "default_state": false
-        },
-        {
-          "group": "ENERGY_PERF_POLICY",
-          "ids": [
-            {
-              "id": "ENERGY_PERF_POLICY_ON_AC",
-              "type": "select",
-              "values": "performance,normal,powersave",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "ENERGY_PERF_POLICY_ON_BAT",
-              "type": "select",
-              "values": "performance,normal,powersave",
-              "default_value": "powersave",
-              "default_state": true
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Radio",
-      "configs": [
-        {
-          "id": "RESTORE_DEVICE_STATE_ON_STARTUP",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "wifi",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_AC",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "Radio Device Wizard",
-      "configs": [
-        {
-          "group": "DEVICES_TO_DISABLE_ON_CONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_DISABLE_ON_LAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WIFI_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WWAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_TO_ENABLE_ON_DISCONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_LAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_DOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_UNDOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "USB",
-      "configs": [
-        {
-          "id": "USB_AUTOSUSPEND",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST",
-          "type": "usblist",
-          "values": "",
-          "default_value": "1111:2222 3333:4444",
-          "default_state": false
-        },
-        {
-          "id": "USB_BLACKLIST_WWAN",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "USB_WHITELIST",
-          "type": "usblist",
-          "values": "",
-          "default_value": "1111:2222 3333:4444",
-          "default_state": false
-        },
-        {
-          "id": "USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "ThinkPad Battery",
-      "configs": [
-        {
-          "group": "CHARGE_THRESH_BAT0",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "1-96",
-              "default_value": 75,
-              "default_state": false
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "5-100",
-              "default_value": 80,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CHARGE_THRESH_BAT1",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "1-96",
-              "default_value": 75,
-              "default_state": false
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "5-100",
-              "default_value": 80,
-              "default_state": false
-            }
-          ]
-        }
-      ]
-    }
-  ]
-}
diff --git a/tlpui/configschema/0_9.json b/tlpui/configschema/0_9.json
deleted file mode 100644
index eb2f9be..0000000
--- a/tlpui/configschema/0_9.json
+++ /dev/null
@@ -1,772 +0,0 @@
-{
-  "categories": [
-    {
-      "name": "General",
-      "configs": [
-        {
-          "id": "TLP_ENABLE",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "TLP_DEFAULT_MODE",
-          "type": "select",
-          "values": "AC,BAT",
-          "default_value": "AC",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Audio",
-      "configs": [
-        {
-          "group": "SOUND_POWER_SAVE",
-          "ids": [
-            {
-              "id": "SOUND_POWER_SAVE_ON_AC",
-              "type": "numeric",
-              "values": "0-3600",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "SOUND_POWER_SAVE_ON_BAT",
-              "type": "numeric",
-              "values": "0-3600",
-              "default_value": "1",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "SOUND_POWER_SAVE_CONTROLLER",
-          "type": "bselect",
-          "values": "N,Y",
-          "default_value": "Y",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Disks",
-      "configs": [
-        {
-          "group": "DISK_IDLE_SECS",
-          "ids": [
-            {
-              "id": "DISK_IDLE_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-1000",
-              "default_value": 0,
-              "default_state": true
-            },
-            {
-              "id": "DISK_IDLE_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-1000",
-              "default_value": 2,
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "MAX_LOST_WORK_SECS",
-          "ids": [
-              {
-              "id": "MAX_LOST_WORK_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-10000",
-              "default_value": 15,
-              "default_state": true
-            },
-            {
-              "id": "MAX_LOST_WORK_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-10000",
-              "default_value": 60,
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "DISK_DEVICES",
-          "type": "disklist",
-          "values": "",
-          "default_value": "sda sdb",
-          "default_state": true
-        },
-        {
-          "group": "DISK_APM_LEVEL",
-          "ids": [
-            {
-              "id": "DISK_APM_LEVEL_ON_AC",
-              "type": "disklistview",
-              "values": "1-255",
-              "default_value": "254 254",
-              "default_state": true
-            },
-            {
-              "id": "DISK_APM_LEVEL_ON_BAT",
-              "type": "disklistview",
-              "values": "1-255",
-              "default_value": "128 128",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "DISK_SPINDOWN_TIMEOUT",
-          "ids": [
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_AC",
-              "type": "disklistview",
-              "values": "0-251",
-              "default_value": "0 0",
-              "default_state": false
-            },
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_BAT",
-              "type": "disklistview",
-              "values": "0-251",
-              "default_value": "0 0",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "DISK_IOSCHED",
-          "type": "disklistview",
-          "values": "noop,deadline,cfq",
-          "default_value": "cfq cfq",
-          "default_state": false
-        },
-        {
-          "group": "SATA_LINKPWR",
-          "ids": [
-            {
-              "id": "SATA_LINKPWR_ON_AC",
-              "type": "select",
-              "values": "min_power,medium_power,max_performance",
-              "default_value": "max_performance",
-              "default_state": true
-            },
-            {
-              "id": "SATA_LINKPWR_ON_BAT",
-              "type": "select",
-              "values": "min_power,medium_power,max_performance",
-              "default_value": "min_power",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "SATA_LINKPWR_BLACKLIST",
-          "type": "entry",
-          "values": "",
-          "default_value": "host1",
-          "default_state": false
-        },
-        {
-          "group": "AHCI_RUNTIME_PM",
-          "ids": [
-            {
-              "id": "AHCI_RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": false
-            },
-            {
-              "id": "AHCI_RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "AHCI_RUNTIME_PM_TIMEOUT",
-          "type": "numeric",
-          "values": "0-10000",
-          "default_value": 15,
-          "default_state": true
-        },
-        {
-          "id": "BAY_POWEROFF_ON_BAT",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "BAY_DEVICE",
-          "type": "entry",
-          "values": "",
-          "default_value": "sr0",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Graphics",
-      "configs": [
-        {
-          "group": "RADEON_POWER_PROFILE",
-          "ids": [
-            {
-              "id": "RADEON_POWER_PROFILE_ON_AC",
-              "type": "select",
-              "values": "low,mid,high,auto,default",
-              "default_value": "high",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_POWER_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "low,mid,high,auto,default",
-              "default_value": "low",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_STATE",
-          "ids": [
-            {
-              "id": "RADEON_DPM_STATE_ON_AC",
-              "type": "select",
-              "values": "battery,performance",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_DPM_STATE_ON_BAT",
-              "type": "select",
-              "values": "battery,performance",
-              "default_value": "battery",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_PERF_LEVEL",
-          "ids": [
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_AC",
-              "type": "select",
-              "values": "auto,low,high",
-              "default_value": "auto",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_BAT",
-              "type": "select",
-              "values": "auto,low,high",
-              "default_value": "auto",
-              "default_state": true
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Network",
-      "configs": [
-        {
-          "group": "WIFI_PWR",
-          "ids": [
-            {
-              "id": "WIFI_PWR_ON_AC",
-              "type": "bselect",
-              "values": "off,on",
-              "default_value": "off",
-              "default_state": true
-            },
-            {
-              "id": "WIFI_PWR_ON_BAT",
-              "type": "bselect",
-              "values": "off,on",
-              "default_value": "on",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "WOL_DISABLE",
-          "type": "bselect",
-          "values": "N,Y",
-          "default_value": "Y",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "PCIe",
-      "configs": [
-        {
-          "group": "PCIE_ASPM",
-          "ids": [
-            {
-              "id": "PCIE_ASPM_ON_AC",
-              "type": "select",
-              "values": "default,performance,powersave",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "PCIE_ASPM_ON_BAT",
-              "type": "select",
-              "values": "default,performance,powersave",
-              "default_value": "powersave",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RUNTIME_PM",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": true
-            },
-            {
-              "id": "RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "auto",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "RUNTIME_PM_ALL",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "RUNTIME_PM_BLACKLIST",
-          "type": "pcilist",
-          "values": "",
-          "default_value": "bb:dd.f 11:22.3 44:55.6",
-          "default_state": false
-        },
-        {
-          "id": "RUNTIME_PM_DRIVER_BLACKLIST",
-          "type": "entry",
-          "values": "",
-          "default_value": "radeon nouveau",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Processor",
-      "configs": [
-        {
-          "group": "CPU_SCALING_GOVERNOR",
-          "ids": [
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_AC",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative",
-              "default_value": "powersave",
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_BAT",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative",
-              "default_value": "powersave",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_SCALING_FREQ",
-          "ids": [
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_PERF",
-          "ids": [
-            {
-              "id": "CPU_MIN_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value":100,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MIN_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 30,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_BOOST",
-          "ids": [
-            {
-              "id": "CPU_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "1",
-              "default_state": false
-            },
-            {
-              "id": "CPU_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "SCHED_POWERSAVE",
-          "ids": [
-            {
-              "id": "SCHED_POWERSAVE_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "SCHED_POWERSAVE_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "1",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "NMI_WATCHDOG",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "PHC_CONTROLS",
-          "type": "entry",
-          "values": "",
-          "default_value": "F:V F:V F:V F:V",
-          "default_state": false
-        },
-        {
-          "group": "ENERGY_PERF_POLICY",
-          "ids": [
-            {
-              "id": "ENERGY_PERF_POLICY_ON_AC",
-              "type": "select",
-              "values": "performance,normal,powersave",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "ENERGY_PERF_POLICY_ON_BAT",
-              "type": "select",
-              "values": "performance,normal,powersave",
-              "default_value": "powersave",
-              "default_state": true
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Radio",
-      "configs": [
-        {
-          "id": "RESTORE_DEVICE_STATE_ON_STARTUP",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "wifi",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_AC",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "Radio Device Wizard",
-      "configs": [
-        {
-          "group": "DEVICES_TO_DISABLE_ON_CONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_DISABLE_ON_LAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WIFI_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WWAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_TO_ENABLE_ON_DISCONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_LAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_DOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_UNDOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "USB",
-      "configs": [
-        {
-          "id": "USB_AUTOSUSPEND",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST",
-          "type": "usblist",
-          "values": "",
-          "default_value": "1111:2222 3333:4444",
-          "default_state": false
-        },
-        {
-          "id": "USB_BLACKLIST_WWAN",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "USB_WHITELIST",
-          "type": "usblist",
-          "values": "",
-          "default_value": "1111:2222 3333:4444",
-          "default_state": false
-        },
-        {
-          "id": "USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "ThinkPad Battery",
-      "configs": [
-        {
-          "group": "CHARGE_THRESH_BAT0",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "1-96",
-              "default_value": 75,
-              "default_state": false
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "5-100",
-              "default_value": 80,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CHARGE_THRESH_BAT1",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "1-96",
-              "default_value": 75,
-              "default_state": false
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "5-100",
-              "default_value": 80,
-              "default_state": false
-            }
-          ]
-        }
-      ]
-    }
-  ]
-}
diff --git a/tlpui/configschema/1_0.json b/tlpui/configschema/1_0.json
deleted file mode 100644
index 1373890..0000000
--- a/tlpui/configschema/1_0.json
+++ /dev/null
@@ -1,824 +0,0 @@
-{
-  "categories": [
-    {
-      "name": "General",
-      "configs": [
-        {
-          "id": "TLP_ENABLE",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "TLP_DEFAULT_MODE",
-          "type": "select",
-          "values": "AC,BAT",
-          "default_value": "AC",
-          "default_state": true
-        },
-        {
-          "id": "TLP_PERSISTENT_DEFAULT",
-          "type": "select",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Audio",
-      "configs": [
-        {
-          "group": "SOUND_POWER_SAVE",
-          "ids": [
-            {
-              "id": "SOUND_POWER_SAVE_ON_AC",
-              "type": "numeric",
-              "values": "0-3600",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "SOUND_POWER_SAVE_ON_BAT",
-              "type": "numeric",
-              "values": "0-3600",
-              "default_value": "1",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "SOUND_POWER_SAVE_CONTROLLER",
-          "type": "bselect",
-          "values": "N,Y",
-          "default_value": "Y",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Disks",
-      "configs": [
-        {
-          "group": "DISK_IDLE_SECS",
-          "ids": [
-            {
-              "id": "DISK_IDLE_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-1000",
-              "default_value": 0,
-              "default_state": true
-            },
-            {
-              "id": "DISK_IDLE_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-1000",
-              "default_value": 2,
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "MAX_LOST_WORK_SECS",
-          "ids": [
-              {
-              "id": "MAX_LOST_WORK_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-10000",
-              "default_value": 15,
-              "default_state": true
-            },
-            {
-              "id": "MAX_LOST_WORK_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-10000",
-              "default_value": 60,
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "DISK_DEVICES",
-          "type": "disklist",
-          "values": "",
-          "default_value": "sda sdb",
-          "default_state": true
-        },
-        {
-          "group": "DISK_APM_LEVEL",
-          "ids": [
-            {
-              "id": "DISK_APM_LEVEL_ON_AC",
-              "type": "disklistview",
-              "values": "1-255",
-              "default_value": "254 254",
-              "default_state": true
-            },
-            {
-              "id": "DISK_APM_LEVEL_ON_BAT",
-              "type": "disklistview",
-              "values": "1-255",
-              "default_value": "128 128",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "DISK_SPINDOWN_TIMEOUT",
-          "ids": [
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_AC",
-              "type": "disklistview",
-              "values": "0-251",
-              "default_value": "0 0",
-              "default_state": false
-            },
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_BAT",
-              "type": "disklistview",
-              "values": "0-251",
-              "default_value": "0 0",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "DISK_IOSCHED",
-          "type": "disklistview",
-          "values": "noop,deadline,cfq",
-          "default_value": "cfq cfq",
-          "default_state": false
-        },
-        {
-          "group": "SATA_LINKPWR",
-          "ids": [
-            {
-              "id": "SATA_LINKPWR_ON_AC",
-              "type": "select",
-              "values": "min_power,medium_power,max_performance",
-              "default_value": "max_performance",
-              "default_state": true
-            },
-            {
-              "id": "SATA_LINKPWR_ON_BAT",
-              "type": "select",
-              "values": "min_power,medium_power,max_performance",
-              "default_value": "min_power",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "SATA_LINKPWR_BLACKLIST",
-          "type": "entry",
-          "values": "",
-          "default_value": "host1",
-          "default_state": false
-        },
-        {
-          "group": "AHCI_RUNTIME_PM",
-          "ids": [
-            {
-              "id": "AHCI_RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": false
-            },
-            {
-              "id": "AHCI_RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "AHCI_RUNTIME_PM_TIMEOUT",
-          "type": "numeric",
-          "values": "0-10000",
-          "default_value": 15,
-          "default_state": true
-        },
-        {
-          "group": "BAY_POWEROFF",
-          "ids": [
-            {
-              "id": "BAY_POWEROFF_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "BAY_POWEROFF_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "BAY_DEVICE",
-          "type": "entry",
-          "values": "",
-          "default_value": "sr0",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Graphics",
-      "configs": [
-        {
-          "group": "RADEON_POWER_PROFILE",
-          "ids": [
-            {
-              "id": "RADEON_POWER_PROFILE_ON_AC",
-              "type": "select",
-              "values": "low,mid,high,auto,default",
-              "default_value": "high",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_POWER_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "low,mid,high,auto,default",
-              "default_value": "low",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_STATE",
-          "ids": [
-            {
-              "id": "RADEON_DPM_STATE_ON_AC",
-              "type": "select",
-              "values": "battery,performance",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_DPM_STATE_ON_BAT",
-              "type": "select",
-              "values": "battery,performance",
-              "default_value": "battery",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_PERF_LEVEL",
-          "ids": [
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_AC",
-              "type": "select",
-              "values": "auto,low,high",
-              "default_value": "auto",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_BAT",
-              "type": "select",
-              "values": "auto,low,high",
-              "default_value": "auto",
-              "default_state": true
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Network",
-      "configs": [
-        {
-          "group": "WIFI_PWR",
-          "ids": [
-            {
-              "id": "WIFI_PWR_ON_AC",
-              "type": "bselect",
-              "values": "off,on",
-              "default_value": "off",
-              "default_state": true
-            },
-            {
-              "id": "WIFI_PWR_ON_BAT",
-              "type": "bselect",
-              "values": "off,on",
-              "default_value": "on",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "WOL_DISABLE",
-          "type": "bselect",
-          "values": "N,Y",
-          "default_value": "Y",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "PCIe",
-      "configs": [
-        {
-          "group": "PCIE_ASPM",
-          "ids": [
-            {
-              "id": "PCIE_ASPM_ON_AC",
-              "type": "select",
-              "values": "default,performance,powersave",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "PCIE_ASPM_ON_BAT",
-              "type": "select",
-              "values": "default,performance,powersave",
-              "default_value": "powersave",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RUNTIME_PM",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": true
-            },
-            {
-              "id": "RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "auto",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "RUNTIME_PM_BLACKLIST",
-          "type": "pcilist",
-          "values": "",
-          "default_value": "bb:dd.f 11:22.3 44:55.6",
-          "default_state": false
-        },
-        {
-          "id": "RUNTIME_PM_DRIVER_BLACKLIST",
-          "type": "multiselect",
-          "values": "amdgpu,nouveau,nvidia,radeon",
-          "default_value": "amdgpu nouveau nvidia radeon",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "Processor",
-      "configs": [
-        {
-          "group": "CPU_SCALING_GOVERNOR",
-          "ids": [
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_AC",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil",
-              "default_value": "powersave",
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_BAT",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil",
-              "default_value": "powersave",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_SCALING_FREQ",
-          "ids": [
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_HWP",
-          "ids": [
-            {
-              "id": "CPU_HWP_ON_AC",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power",
-              "default_value": "balance_performance",
-              "default_state": true
-            },
-            {
-              "id": "CPU_HWP_ON_BAT",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power",
-              "default_value": "balance_power",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "CPU_PERF",
-          "ids": [
-            {
-              "id": "CPU_MIN_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value":100,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MIN_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 30,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_BOOST",
-          "ids": [
-            {
-              "id": "CPU_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "1",
-              "default_state": false
-            },
-            {
-              "id": "CPU_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "SCHED_POWERSAVE",
-          "ids": [
-            {
-              "id": "SCHED_POWERSAVE_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "SCHED_POWERSAVE_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "1",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "NMI_WATCHDOG",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "PHC_CONTROLS",
-          "type": "entry",
-          "values": "",
-          "default_value": "F:V F:V F:V F:V",
-          "default_state": false
-        },
-        {
-          "group": "ENERGY_PERF_POLICY",
-          "ids": [
-            {
-              "id": "ENERGY_PERF_POLICY_ON_AC",
-              "type": "select",
-              "values": "performance,normal,powersave",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "ENERGY_PERF_POLICY_ON_BAT",
-              "type": "select",
-              "values": "performance,normal,powersave",
-              "default_value": "powersave",
-              "default_state": true
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Radio",
-      "configs": [
-        {
-          "id": "RESTORE_DEVICE_STATE_ON_STARTUP",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "wifi",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_AC",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "Radio Device Wizard",
-      "configs": [
-        {
-          "group": "DEVICES_TO_DISABLE_ON_CONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_DISABLE_ON_LAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WIFI_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WWAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_TO_ENABLE_ON_DISCONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_LAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_DOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_UNDOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "USB",
-      "configs": [
-        {
-          "id": "USB_AUTOSUSPEND",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST",
-          "type": "usblist",
-          "values": "",
-          "default_value": "1111:2222 3333:4444",
-          "default_state": false
-        },
-        {
-          "id": "USB_BLACKLIST_BTUSB",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST_PHONE",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST_WWAN",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "USB_WHITELIST",
-          "type": "usblist",
-          "values": "",
-          "default_value": "1111:2222 3333:4444",
-          "default_state": false
-        },
-        {
-          "id": "USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "ThinkPad Battery",
-      "configs": [
-        {
-          "group": "CHARGE_THRESH_BAT0",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "1-96",
-              "default_value": 75,
-              "default_state": false
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "5-100",
-              "default_value": 80,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CHARGE_THRESH_BAT1",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "1-96",
-              "default_value": 75,
-              "default_state": false
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "5-100",
-              "default_value": 80,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "RESTORE_THRESHOLDS_ON_BAT",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": false
-        }
-      ]
-    }
-  ]
-}
diff --git a/tlpui/configschema/1_1.json b/tlpui/configschema/1_1.json
deleted file mode 100644
index 37462fc..0000000
--- a/tlpui/configschema/1_1.json
+++ /dev/null
@@ -1,831 +0,0 @@
-{
-  "categories": [
-    {
-      "name": "General",
-      "configs": [
-        {
-          "id": "TLP_ENABLE",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "TLP_DEFAULT_MODE",
-          "type": "select",
-          "values": "AC,BAT",
-          "default_value": "AC",
-          "default_state": true
-        },
-        {
-          "id": "TLP_PERSISTENT_DEFAULT",
-          "type": "select",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Audio",
-      "configs": [
-        {
-          "group": "SOUND_POWER_SAVE",
-          "ids": [
-            {
-              "id": "SOUND_POWER_SAVE_ON_AC",
-              "type": "numeric",
-              "values": "0-3600",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "SOUND_POWER_SAVE_ON_BAT",
-              "type": "numeric",
-              "values": "0-3600",
-              "default_value": "1",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "SOUND_POWER_SAVE_CONTROLLER",
-          "type": "bselect",
-          "values": "N,Y",
-          "default_value": "Y",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Disks",
-      "configs": [
-        {
-          "group": "DISK_IDLE_SECS",
-          "ids": [
-            {
-              "id": "DISK_IDLE_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-1000",
-              "default_value": 0,
-              "default_state": true
-            },
-            {
-              "id": "DISK_IDLE_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-1000",
-              "default_value": 2,
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "MAX_LOST_WORK_SECS",
-          "ids": [
-              {
-              "id": "MAX_LOST_WORK_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-10000",
-              "default_value": 15,
-              "default_state": true
-            },
-            {
-              "id": "MAX_LOST_WORK_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-10000",
-              "default_value": 60,
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "DISK_DEVICES",
-          "type": "disklist",
-          "values": "",
-          "default_value": "sda sdb",
-          "default_state": true
-        },
-        {
-          "group": "DISK_APM_LEVEL",
-          "ids": [
-            {
-              "id": "DISK_APM_LEVEL_ON_AC",
-              "type": "disklistview",
-              "values": "1-255",
-              "default_value": "254 254",
-              "default_state": true
-            },
-            {
-              "id": "DISK_APM_LEVEL_ON_BAT",
-              "type": "disklistview",
-              "values": "1-255",
-              "default_value": "128 128",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "DISK_SPINDOWN_TIMEOUT",
-          "ids": [
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_AC",
-              "type": "disklistview",
-              "values": "0-251",
-              "default_value": "0 0",
-              "default_state": false
-            },
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_BAT",
-              "type": "disklistview",
-              "values": "0-251",
-              "default_value": "0 0",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "DISK_IOSCHED",
-          "type": "disklistview",
-          "values": "noop,deadline,cfq",
-          "default_value": "cfq cfq",
-          "default_state": false
-        },
-        {
-          "group": "SATA_LINKPWR",
-          "ids": [
-            {
-              "id": "SATA_LINKPWR_ON_AC",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance",
-              "default_value": "med_power_with_dipm max_performance",
-              "default_state": true
-            },
-            {
-              "id": "SATA_LINKPWR_ON_BAT",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance",
-              "default_value": "med_power_with_dipm min_power",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "SATA_LINKPWR_BLACKLIST",
-          "type": "entry",
-          "values": "",
-          "default_value": "host1",
-          "default_state": false
-        },
-        {
-          "group": "AHCI_RUNTIME_PM",
-          "ids": [
-            {
-              "id": "AHCI_RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": false
-            },
-            {
-              "id": "AHCI_RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "AHCI_RUNTIME_PM_TIMEOUT",
-          "type": "numeric",
-          "values": "0-10000",
-          "default_value": 15,
-          "default_state": true
-        },
-        {
-          "group": "BAY_POWEROFF",
-          "ids": [
-            {
-              "id": "BAY_POWEROFF_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "BAY_POWEROFF_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "BAY_DEVICE",
-          "type": "entry",
-          "values": "",
-          "default_value": "sr0",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Graphics",
-      "configs": [
-        {
-          "group": "RADEON_POWER_PROFILE",
-          "ids": [
-            {
-              "id": "RADEON_POWER_PROFILE_ON_AC",
-              "type": "select",
-              "values": "low,mid,high,auto,default",
-              "default_value": "high",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_POWER_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "low,mid,high,auto,default",
-              "default_value": "low",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_STATE",
-          "ids": [
-            {
-              "id": "RADEON_DPM_STATE_ON_AC",
-              "type": "select",
-              "values": "battery,performance",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_DPM_STATE_ON_BAT",
-              "type": "select",
-              "values": "battery,performance",
-              "default_value": "battery",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_PERF_LEVEL",
-          "ids": [
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_AC",
-              "type": "select",
-              "values": "auto,low,high",
-              "default_value": "auto",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_BAT",
-              "type": "select",
-              "values": "auto,low,high",
-              "default_value": "auto",
-              "default_state": true
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Network",
-      "configs": [
-        {
-          "group": "WIFI_PWR",
-          "ids": [
-            {
-              "id": "WIFI_PWR_ON_AC",
-              "type": "bselect",
-              "values": "off,on",
-              "default_value": "off",
-              "default_state": true
-            },
-            {
-              "id": "WIFI_PWR_ON_BAT",
-              "type": "bselect",
-              "values": "off,on",
-              "default_value": "on",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "WOL_DISABLE",
-          "type": "bselect",
-          "values": "N,Y",
-          "default_value": "Y",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "PCIe",
-      "configs": [
-        {
-          "group": "PCIE_ASPM",
-          "ids": [
-            {
-              "id": "PCIE_ASPM_ON_AC",
-              "type": "select",
-              "values": "default,performance,powersave",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "PCIE_ASPM_ON_BAT",
-              "type": "select",
-              "values": "default,performance,powersave",
-              "default_value": "powersave",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RUNTIME_PM",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": true
-            },
-            {
-              "id": "RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "auto",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "RUNTIME_PM_BLACKLIST",
-          "type": "pcilist",
-          "values": "",
-          "default_value": "bb:dd.f 11:22.3 44:55.6",
-          "default_state": false
-        },
-        {
-          "id": "RUNTIME_PM_DRIVER_BLACKLIST",
-          "type": "multiselect",
-          "values": "amdgpu,nouveau,nvidia,radeon",
-          "default_value": "amdgpu nouveau nvidia radeon",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "Processor",
-      "configs": [
-        {
-          "group": "CPU_SCALING_GOVERNOR",
-          "ids": [
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_AC",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil",
-              "default_value": "powersave",
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_BAT",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil",
-              "default_value": "powersave",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_SCALING_FREQ",
-          "ids": [
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_HWP",
-          "ids": [
-            {
-              "id": "CPU_HWP_ON_AC",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power",
-              "default_value": "balance_performance",
-              "default_state": true
-            },
-            {
-              "id": "CPU_HWP_ON_BAT",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power",
-              "default_value": "balance_power",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "CPU_PERF",
-          "ids": [
-            {
-              "id": "CPU_MIN_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value":100,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MIN_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 30,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_BOOST",
-          "ids": [
-            {
-              "id": "CPU_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "1",
-              "default_state": false
-            },
-            {
-              "id": "CPU_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "SCHED_POWERSAVE",
-          "ids": [
-            {
-              "id": "SCHED_POWERSAVE_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "SCHED_POWERSAVE_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "1",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "NMI_WATCHDOG",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "PHC_CONTROLS",
-          "type": "entry",
-          "values": "",
-          "default_value": "F:V F:V F:V F:V",
-          "default_state": false
-        },
-        {
-          "group": "ENERGY_PERF_POLICY",
-          "ids": [
-            {
-              "id": "ENERGY_PERF_POLICY_ON_AC",
-              "type": "select",
-              "values": "performance,balance-performance,default,balance-power,power",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "ENERGY_PERF_POLICY_ON_BAT",
-              "type": "select",
-              "values": "performance,balance-performance,default,balance-power,power",
-              "default_value": "power",
-              "default_state": true
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Radio",
-      "configs": [
-        {
-          "id": "RESTORE_DEVICE_STATE_ON_STARTUP",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "wifi",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_AC",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "Radio Device Wizard",
-      "configs": [
-        {
-          "group": "DEVICES_TO_DISABLE_ON_CONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_DISABLE_ON_LAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WIFI_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WWAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_TO_ENABLE_ON_DISCONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_LAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_DOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_UNDOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "USB",
-      "configs": [
-        {
-          "id": "USB_AUTOSUSPEND",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST",
-          "type": "usblist",
-          "values": "",
-          "default_value": "1111:2222 3333:4444",
-          "default_state": false
-        },
-        {
-          "id": "USB_BLACKLIST_BTUSB",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST_PHONE",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST_PRINTER",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST_WWAN",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "USB_WHITELIST",
-          "type": "usblist",
-          "values": "",
-          "default_value": "1111:2222 3333:4444",
-          "default_state": false
-        },
-        {
-          "id": "USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "ThinkPad Battery",
-      "configs": [
-        {
-          "group": "CHARGE_THRESH_BAT0",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "1-96",
-              "default_value": 75,
-              "default_state": false
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "5-100",
-              "default_value": 80,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CHARGE_THRESH_BAT1",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "1-96",
-              "default_value": 75,
-              "default_state": false
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "5-100",
-              "default_value": 80,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "RESTORE_THRESHOLDS_ON_BAT",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": false
-        }
-      ]
-    }
-  ]
-}
diff --git a/tlpui/configschema/1_2.json b/tlpui/configschema/1_2.json
deleted file mode 100644
index 1d0097b..0000000
--- a/tlpui/configschema/1_2.json
+++ /dev/null
@@ -1,899 +0,0 @@
-{
-  "categories": [
-    {
-      "name": "General",
-      "configs": [
-        {
-          "id": "TLP_ENABLE",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "TLP_DEFAULT_MODE",
-          "type": "select",
-          "values": "AC,BAT",
-          "default_value": "AC",
-          "default_state": true
-        },
-        {
-          "id": "TLP_PERSISTENT_DEFAULT",
-          "type": "select",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Audio",
-      "configs": [
-        {
-          "group": "SOUND_POWER_SAVE",
-          "ids": [
-            {
-              "id": "SOUND_POWER_SAVE_ON_AC",
-              "type": "numeric",
-              "values": "0-3600",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "SOUND_POWER_SAVE_ON_BAT",
-              "type": "numeric",
-              "values": "0-3600",
-              "default_value": "1",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "SOUND_POWER_SAVE_CONTROLLER",
-          "type": "bselect",
-          "values": "N,Y",
-          "default_value": "Y",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Disks",
-      "configs": [
-        {
-          "group": "DISK_IDLE_SECS",
-          "ids": [
-            {
-              "id": "DISK_IDLE_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-1000",
-              "default_value": 0,
-              "default_state": true
-            },
-            {
-              "id": "DISK_IDLE_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-1000",
-              "default_value": 2,
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "MAX_LOST_WORK_SECS",
-          "ids": [
-              {
-              "id": "MAX_LOST_WORK_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-10000",
-              "default_value": 15,
-              "default_state": true
-            },
-            {
-              "id": "MAX_LOST_WORK_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-10000",
-              "default_value": 60,
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "DISK_DEVICES",
-          "type": "disklist",
-          "values": "",
-          "default_value": "nvme0n1 sda",
-          "default_state": true
-        },
-        {
-          "group": "DISK_APM_LEVEL",
-          "ids": [
-            {
-              "id": "DISK_APM_LEVEL_ON_AC",
-              "type": "disklistview",
-              "values": "1-255",
-              "default_value": "254 254",
-              "default_state": true
-            },
-            {
-              "id": "DISK_APM_LEVEL_ON_BAT",
-              "type": "disklistview",
-              "values": "1-255",
-              "default_value": "128 128",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "DISK_SPINDOWN_TIMEOUT",
-          "ids": [
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_AC",
-              "type": "disklistview",
-              "values": "0-251",
-              "default_value": "0 0",
-              "default_state": false
-            },
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_BAT",
-              "type": "disklistview",
-              "values": "0-251",
-              "default_value": "0 0",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "DISK_IOSCHED",
-          "type": "disklistview",
-          "values": "mq-deadline,none,kyber,bfq,deadline,cfq,noop",
-          "default_value": "mq-deadline mq-deadline",
-          "default_state": false
-        },
-        {
-          "group": "SATA_LINKPWR",
-          "ids": [
-            {
-              "id": "SATA_LINKPWR_ON_AC",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance",
-              "default_value": "med_power_with_dipm max_performance",
-              "default_state": true
-            },
-            {
-              "id": "SATA_LINKPWR_ON_BAT",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance",
-              "default_value": "med_power_with_dipm min_power",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "SATA_LINKPWR_BLACKLIST",
-          "type": "entry",
-          "values": "",
-          "default_value": "host1",
-          "default_state": false
-        },
-        {
-          "group": "AHCI_RUNTIME_PM",
-          "ids": [
-            {
-              "id": "AHCI_RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": false
-            },
-            {
-              "id": "AHCI_RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "AHCI_RUNTIME_PM_TIMEOUT",
-          "type": "numeric",
-          "values": "0-10000",
-          "default_value": 15,
-          "default_state": true
-        },
-        {
-          "group": "BAY_POWEROFF",
-          "ids": [
-            {
-              "id": "BAY_POWEROFF_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "BAY_POWEROFF_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "BAY_DEVICE",
-          "type": "entry",
-          "values": "",
-          "default_value": "sr0",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "Graphics",
-      "configs": [
-        {
-          "group": "INTEL_GPU_FREQ",
-          "ids": [
-            {
-              "id": "INTEL_GPU_MIN_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "INTEL_GPU_MIN_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "INTEL_GPU_MAX_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "INTEL_GPU_MAX_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "INTEL_GPU_BOOST_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "INTEL_GPU_BOOST_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000",
-              "default_value": 0,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "RADEON_POWER_PROFILE",
-          "ids": [
-            {
-              "id": "RADEON_POWER_PROFILE_ON_AC",
-              "type": "select",
-              "values": "low,mid,high,auto,default",
-              "default_value": "default",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_POWER_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "low,mid,high,auto,default",
-              "default_value": "default",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_STATE",
-          "ids": [
-            {
-              "id": "RADEON_DPM_STATE_ON_AC",
-              "type": "select",
-              "values": "battery,performance",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_DPM_STATE_ON_BAT",
-              "type": "select",
-              "values": "battery,performance",
-              "default_value": "battery",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_PERF_LEVEL",
-          "ids": [
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_AC",
-              "type": "select",
-              "values": "auto,low,high",
-              "default_value": "auto",
-              "default_state": true
-            },
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_BAT",
-              "type": "select",
-              "values": "auto,low,high",
-              "default_value": "auto",
-              "default_state": true
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Network",
-      "configs": [
-        {
-          "group": "WIFI_PWR",
-          "ids": [
-            {
-              "id": "WIFI_PWR_ON_AC",
-              "type": "bselect",
-              "values": "off,on",
-              "default_value": "off",
-              "default_state": true
-            },
-            {
-              "id": "WIFI_PWR_ON_BAT",
-              "type": "bselect",
-              "values": "off,on",
-              "default_value": "on",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "WOL_DISABLE",
-          "type": "bselect",
-          "values": "N,Y",
-          "default_value": "Y",
-          "default_state": true
-        }
-      ]
-    },
-    {
-      "name": "PCIe",
-      "configs": [
-        {
-          "group": "PCIE_ASPM",
-          "ids": [
-            {
-              "id": "PCIE_ASPM_ON_AC",
-              "type": "select",
-              "values": "default,performance,powersave",
-              "default_value": "default",
-              "default_state": false
-            },
-            {
-              "id": "PCIE_ASPM_ON_BAT",
-              "type": "select",
-              "values": "default,performance,powersave",
-              "default_value": "default",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "RUNTIME_PM",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "on",
-              "default_state": true
-            },
-            {
-              "id": "RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto",
-              "default_value": "auto",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "RUNTIME_PM_BLACKLIST",
-          "type": "pcilist",
-          "values": "",
-          "default_value": "bb:dd.f 11:22.3 44:55.6",
-          "default_state": false
-        },
-        {
-          "id": "RUNTIME_PM_DRIVER_BLACKLIST",
-          "type": "multiselect",
-          "values": "amdgpu,mei_me,nouveau,nvidia,pcieport,radeon",
-          "default_value": "amdgpu mei_me nouveau nvidia pcieport radeon",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "Processor",
-      "configs": [
-        {
-          "group": "CPU_SCALING_GOVERNOR",
-          "ids": [
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_AC",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil",
-              "default_value": "powersave",
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_BAT",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil",
-              "default_value": "powersave",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_SCALING_FREQ",
-          "ids": [
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_AC",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_BAT",
-              "type": "entry",
-              "values": "",
-              "default_value": 0,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_HWP",
-          "ids": [
-            {
-              "id": "CPU_HWP_ON_AC",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power",
-              "default_value": "balance_performance",
-              "default_state": true
-            },
-            {
-              "id": "CPU_HWP_ON_BAT",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power",
-              "default_value": "balance_power",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "group": "CPU_PERF",
-          "ids": [
-            {
-              "id": "CPU_MIN_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value":100,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MIN_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 0,
-              "default_state": false
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100",
-              "default_value": 30,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CPU_BOOST",
-          "ids": [
-            {
-              "id": "CPU_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "1",
-              "default_state": false
-            },
-            {
-              "id": "CPU_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "SCHED_POWERSAVE",
-          "ids": [
-            {
-              "id": "SCHED_POWERSAVE_ON_AC",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "0",
-              "default_state": true
-            },
-            {
-              "id": "SCHED_POWERSAVE_ON_BAT",
-              "type": "bselect",
-              "values": "0,1",
-              "default_value": "1",
-              "default_state": true
-            }
-          ]
-        },
-        {
-          "id": "NMI_WATCHDOG",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "PHC_CONTROLS",
-          "type": "entry",
-          "values": "",
-          "default_value": "F:V F:V F:V F:V",
-          "default_state": false
-        },
-        {
-          "group": "ENERGY_PERF_POLICY",
-          "ids": [
-            {
-              "id": "ENERGY_PERF_POLICY_ON_AC",
-              "type": "select",
-              "values": "performance,balance-performance,default,balance-power,power",
-              "default_value": "performance",
-              "default_state": true
-            },
-            {
-              "id": "ENERGY_PERF_POLICY_ON_BAT",
-              "type": "select",
-              "values": "performance,balance-performance,default,balance-power,power",
-              "default_value": "power",
-              "default_state": true
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Radio",
-      "configs": [
-        {
-          "id": "RESTORE_DEVICE_STATE_ON_STARTUP",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "wifi",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_AC",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan",
-          "default_value": "bluetooth wifi wwan",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "Radio Device Wizard",
-      "configs": [
-        {
-          "group": "DEVICES_TO_DISABLE_ON_CONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_DISABLE_ON_LAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WIFI_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WWAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_TO_ENABLE_ON_DISCONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_LAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi wwan",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_DOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_UNDOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "wifi",
-              "default_state": false
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan",
-              "default_value": "",
-              "default_state": false
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "USB",
-      "configs": [
-        {
-          "id": "USB_AUTOSUSPEND",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST",
-          "type": "usblist",
-          "values": "",
-          "default_value": "1111:2222 3333:4444",
-          "default_state": false
-        },
-        {
-          "id": "USB_BLACKLIST_BTUSB",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST_PHONE",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST_PRINTER",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "USB_BLACKLIST_WWAN",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "0",
-          "default_state": true
-        },
-        {
-          "id": "USB_WHITELIST",
-          "type": "usblist",
-          "values": "",
-          "default_value": "1111:2222 3333:4444",
-          "default_state": false
-        },
-        {
-          "id": "USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": false
-        }
-      ]
-    },
-    {
-      "name": "ThinkPad Battery",
-      "configs": [
-        {
-          "group": "CHARGE_THRESH_BAT0",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "1-96",
-              "default_value": 75,
-              "default_state": false
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "5-100",
-              "default_value": 80,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "group": "CHARGE_THRESH_BAT1",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "1-96",
-              "default_value": 75,
-              "default_state": false
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "5-100",
-              "default_value": 80,
-              "default_state": false
-            }
-          ]
-        },
-        {
-          "id": "RESTORE_THRESHOLDS_ON_BAT",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": false
-        },
-        {
-          "id": "NATACPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "TPACPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        },
-        {
-          "id": "TPSMAPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1",
-          "default_value": "1",
-          "default_state": true
-        }
-      ]
-    }
-  ]
-}
diff --git a/tlpui/configschema/1_3.json b/tlpui/configschema/1_3.json
deleted file mode 100644
index 1fef85e..0000000
--- a/tlpui/configschema/1_3.json
+++ /dev/null
@@ -1,689 +0,0 @@
-{
-  "categories": [
-    {
-      "name": "General",
-      "configs": [
-        {
-          "id": "TLP_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TLP_DEFAULT_MODE",
-          "type": "select",
-          "values": "AC,BAT"
-        },
-        {
-          "id": "TLP_PERSISTENT_DEFAULT",
-          "type": "select",
-          "values": "0,1"
-        },
-        {
-          "id": "TLP_PS_IGNORE",
-          "type": "select",
-          "values": "AC,BAT"
-        }
-      ]
-    },
-    {
-      "name": "Audio",
-      "configs": [
-        {
-          "group": "SOUND_POWER_SAVE",
-          "ids": [
-            {
-              "id": "SOUND_POWER_SAVE_ON_AC",
-              "type": "numeric",
-              "values": "0-3600"
-            },
-            {
-              "id": "SOUND_POWER_SAVE_ON_BAT",
-              "type": "numeric",
-              "values": "0-3600"
-            }
-          ]
-        },
-        {
-          "id": "SOUND_POWER_SAVE_CONTROLLER",
-          "type": "bselect",
-          "values": "N,Y"
-        }
-      ]
-    },
-    {
-      "name": "Disks",
-      "configs": [
-        {
-          "group": "DISK_IDLE_SECS",
-          "ids": [
-            {
-              "id": "DISK_IDLE_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-1000"
-            },
-            {
-              "id": "DISK_IDLE_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-1000"
-            }
-          ]
-        },
-        {
-          "group": "MAX_LOST_WORK_SECS",
-          "ids": [
-              {
-              "id": "MAX_LOST_WORK_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-10000"
-            },
-            {
-              "id": "MAX_LOST_WORK_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-10000"
-            }
-          ]
-        },
-        {
-          "id": "DISK_DEVICES",
-          "type": "disklist",
-          "values": ""
-        },
-        {
-          "group": "DISK_APM_LEVEL",
-          "ids": [
-            {
-              "id": "DISK_APM_LEVEL_ON_AC",
-              "type": "disklistview",
-              "values": "1-255"
-            },
-            {
-              "id": "DISK_APM_LEVEL_ON_BAT",
-              "type": "disklistview",
-              "values": "1-255"
-            }
-          ]
-        },
-        {
-          "group": "DISK_SPINDOWN_TIMEOUT",
-          "ids": [
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_AC",
-              "type": "disklistview",
-              "values": "0-251"
-            },
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_BAT",
-              "type": "disklistview",
-              "values": "0-251"
-            }
-          ]
-        },
-        {
-          "id": "DISK_IOSCHED",
-          "type": "disklistview",
-          "values": "mq-deadline,none,kyber,bfq,deadline,cfq,noop"
-        },
-        {
-          "group": "SATA_LINKPWR",
-          "ids": [
-            {
-              "id": "SATA_LINKPWR_ON_AC",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance"
-            },
-            {
-              "id": "SATA_LINKPWR_ON_BAT",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance"
-            }
-          ]
-        },
-        {
-          "id": "SATA_LINKPWR_BLACKLIST",
-          "type": "entry",
-          "values": ""
-        },
-        {
-          "group": "AHCI_RUNTIME_PM",
-          "ids": [
-            {
-              "id": "AHCI_RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto"
-            },
-            {
-              "id": "AHCI_RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto"
-            }
-          ]
-        },
-        {
-          "id": "AHCI_RUNTIME_PM_TIMEOUT",
-          "type": "numeric",
-          "values": "0-10000"
-        },
-        {
-          "group": "BAY_POWEROFF",
-          "ids": [
-            {
-              "id": "BAY_POWEROFF_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "BAY_POWEROFF_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "id": "BAY_DEVICE",
-          "type": "entry",
-          "values": ""
-        }
-      ]
-    },
-    {
-      "name": "Graphics",
-      "configs": [
-        {
-          "group": "INTEL_GPU_FREQ",
-          "ids": [
-            {
-              "id": "INTEL_GPU_MIN_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MIN_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MAX_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MAX_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_BOOST_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_BOOST_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_POWER_PROFILE",
-          "ids": [
-            {
-              "id": "RADEON_POWER_PROFILE_ON_AC",
-              "type": "select",
-              "values": "low,mid,high,auto,default"
-            },
-            {
-              "id": "RADEON_POWER_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "low,mid,high,auto,default"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_STATE",
-          "ids": [
-            {
-              "id": "RADEON_DPM_STATE_ON_AC",
-              "type": "select",
-              "values": "battery,performance"
-            },
-            {
-              "id": "RADEON_DPM_STATE_ON_BAT",
-              "type": "select",
-              "values": "battery,performance"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_PERF_LEVEL",
-          "ids": [
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_AC",
-              "type": "select",
-              "values": "auto,low,high"
-            },
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_BAT",
-              "type": "select",
-              "values": "auto,low,high"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Network",
-      "configs": [
-        {
-          "group": "WIFI_PWR",
-          "ids": [
-            {
-              "id": "WIFI_PWR_ON_AC",
-              "type": "bselect",
-              "values": "off,on"
-            },
-            {
-              "id": "WIFI_PWR_ON_BAT",
-              "type": "bselect",
-              "values": "off,on"
-            }
-          ]
-        },
-        {
-          "id": "WOL_DISABLE",
-          "type": "bselect",
-          "values": "N,Y"
-        }
-      ]
-    },
-    {
-      "name": "PCIe",
-      "configs": [
-        {
-          "group": "PCIE_ASPM",
-          "ids": [
-            {
-              "id": "PCIE_ASPM_ON_AC",
-              "type": "select",
-              "values": "default,performance,powersave,powersupersave"
-            },
-            {
-              "id": "PCIE_ASPM_ON_BAT",
-              "type": "select",
-              "values": "default,performance,powersave,powersupersave"
-            }
-          ]
-        },
-        {
-          "group": "RUNTIME_PM",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto"
-            },
-            {
-              "id": "RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto"
-            }
-          ]
-        },
-        {
-          "id": "RUNTIME_PM_BLACKLIST",
-          "type": "pcilist",
-          "values": ""
-        },
-        {
-          "id": "RUNTIME_PM_DRIVER_BLACKLIST",
-          "type": "multiselect",
-          "values": "amdgpu,mei_me,nouveau,nvidia,pcieport,radeon"
-        }
-      ]
-    },
-    {
-      "name": "Processor",
-      "configs": [
-        {
-          "group": "CPU_SCALING_GOVERNOR",
-          "ids": [
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_AC",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil"
-            },
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_BAT",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil"
-            }
-          ]
-        },
-        {
-          "group": "CPU_SCALING_FREQ",
-          "ids": [
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_AC",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_AC",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_BAT",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_BAT",
-              "type": "entry",
-              "values": ""
-            }
-          ]
-        },
-        {
-          "group": "CPU_ENERGY_PERF_POLICY",
-          "ids": [
-            {
-              "id": "CPU_ENERGY_PERF_POLICY_ON_AC",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power"
-            },
-            {
-              "id": "CPU_ENERGY_PERF_POLICY_ON_BAT",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power"
-            }
-          ]
-        },
-        {
-          "group": "CPU_PERF",
-          "ids": [
-            {
-              "id": "CPU_MIN_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MIN_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100"
-            }
-          ]
-        },
-        {
-          "group": "CPU_BOOST",
-          "ids": [
-            {
-              "id": "CPU_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "CPU_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "group": "SCHED_POWERSAVE",
-          "ids": [
-            {
-              "id": "SCHED_POWERSAVE_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "SCHED_POWERSAVE_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "id": "NMI_WATCHDOG",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "PHC_CONTROLS",
-          "type": "entry",
-          "values": ""
-        }
-      ]
-    },
-    {
-      "name": "Radio",
-      "configs": [
-        {
-          "id": "RESTORE_DEVICE_STATE_ON_STARTUP",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_AC",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        }
-      ]
-    },
-    {
-      "name": "Radio Device Wizard",
-      "configs": [
-        {
-          "group": "DEVICES_TO_DISABLE_ON_CONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_DISABLE_ON_LAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WIFI_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WWAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_TO_ENABLE_ON_DISCONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_LAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_DOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_UNDOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "USB",
-      "configs": [
-        {
-          "id": "USB_AUTOSUSPEND",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_BLACKLIST",
-          "type": "usblist",
-          "values": ""
-        },
-        {
-          "id": "USB_BLACKLIST_BTUSB",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_BLACKLIST_PHONE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_BLACKLIST_PRINTER",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_BLACKLIST_WWAN",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_WHITELIST",
-          "type": "usblist",
-          "values": ""
-        },
-        {
-          "id": "USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN",
-          "type": "bselect",
-          "values": "0,1"
-        }
-      ]
-    },
-    {
-      "name": "ThinkPad Battery",
-      "configs": [
-        {
-          "group": "CHARGE_THRESH_BAT0",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "1-96"
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "5-100"
-            }
-          ]
-        },
-        {
-          "group": "CHARGE_THRESH_BAT1",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "1-96"
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "5-100"
-            }
-          ]
-        },
-        {
-          "id": "RESTORE_THRESHOLDS_ON_BAT",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "NATACPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TPACPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TPSMAPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        }
-      ]
-    }
-  ]
-}
diff --git a/tlpui/configschema/1_3.yaml b/tlpui/configschema/1_3.yaml
new file mode 100644
index 0000000..a9ba9ef
--- /dev/null
+++ b/tlpui/configschema/1_3.yaml
@@ -0,0 +1,374 @@
+categories:
+  - name: General
+    configs:
+      - id: TLP_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TLP_DEFAULT_MODE
+        type: select
+        values: AC,BAT
+      - id: TLP_PERSISTENT_DEFAULT
+        type: select
+        values: 0,1
+      - id: TLP_PS_IGNORE
+        type: select
+        values: AC,BAT
+  - name: Audio
+    configs:
+      - group: SOUND_POWER_SAVE
+        ids:
+          - id: SOUND_POWER_SAVE_ON_AC
+            type: numeric
+            values: 0-3600
+          - id: SOUND_POWER_SAVE_ON_BAT
+            type: numeric
+            values: 0-3600
+      - id: SOUND_POWER_SAVE_CONTROLLER
+        type: bselect
+        values: N,Y
+  - name: Disks
+    configs:
+      - group: DISK_IDLE_SECS
+        ids:
+          - id: DISK_IDLE_SECS_ON_AC
+            type: numeric
+            values: 0-1000
+          - id: DISK_IDLE_SECS_ON_BAT
+            type: numeric
+            values: 0-1000
+      - group: MAX_LOST_WORK_SECS
+        ids:
+          - id: MAX_LOST_WORK_SECS_ON_AC
+            type: numeric
+            values: 0-10000
+          - id: MAX_LOST_WORK_SECS_ON_BAT
+            type: numeric
+            values: 0-10000
+      - id: DISK_DEVICES
+        type: disklist
+        values: ''
+      - group: DISK_APM_LEVEL
+        ids:
+          - id: DISK_APM_LEVEL_ON_AC
+            type: disklistview
+            values: 1-255
+          - id: DISK_APM_LEVEL_ON_BAT
+            type: disklistview
+            values: 1-255
+      - group: DISK_SPINDOWN_TIMEOUT
+        ids:
+          - id: DISK_SPINDOWN_TIMEOUT_ON_AC
+            type: disklistview
+            values: 0-251
+          - id: DISK_SPINDOWN_TIMEOUT_ON_BAT
+            type: disklistview
+            values: 0-251
+      - id: DISK_IOSCHED
+        type: disklistview
+        values: mq-deadline,none,kyber,bfq,deadline,cfq,noop
+      - group: SATA_LINKPWR
+        ids:
+          - id: SATA_LINKPWR_ON_AC
+            type: multiselect
+            values: min_power,med_power_with_dipm,medium_power,max_performance
+          - id: SATA_LINKPWR_ON_BAT
+            type: multiselect
+            values: min_power,med_power_with_dipm,medium_power,max_performance
+      - id: SATA_LINKPWR_BLACKLIST
+        type: entry
+        values: ''
+      - group: AHCI_RUNTIME_PM
+        ids:
+          - id: AHCI_RUNTIME_PM_ON_AC
+            type: bselect
+            values: on,auto
+          - id: AHCI_RUNTIME_PM_ON_BAT
+            type: bselect
+            values: on,auto
+      - id: AHCI_RUNTIME_PM_TIMEOUT
+        type: numeric
+        values: 0-10000
+      - group: BAY_POWEROFF
+        ids:
+          - id: BAY_POWEROFF_ON_AC
+            type: bselect
+            values: 0,1
+          - id: BAY_POWEROFF_ON_BAT
+            type: bselect
+            values: 0,1
+      - id: BAY_DEVICE
+        type: entry
+        values: ''
+  - name: Graphics
+    configs:
+      - group: INTEL_GPU_FREQ
+        ids:
+          - id: INTEL_GPU_MIN_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MIN_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MAX_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MAX_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_BOOST_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_BOOST_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+      - group: RADEON_POWER_PROFILE
+        ids:
+          - id: RADEON_POWER_PROFILE_ON_AC
+            type: select
+            values: low,mid,high,auto,default
+          - id: RADEON_POWER_PROFILE_ON_BAT
+            type: select
+            values: low,mid,high,auto,default
+      - group: RADEON_DPM_STATE
+        ids:
+          - id: RADEON_DPM_STATE_ON_AC
+            type: select
+            values: battery,performance
+          - id: RADEON_DPM_STATE_ON_BAT
+            type: select
+            values: battery,performance
+      - group: RADEON_DPM_PERF_LEVEL
+        ids:
+          - id: RADEON_DPM_PERF_LEVEL_ON_AC
+            type: select
+            values: auto,low,high
+          - id: RADEON_DPM_PERF_LEVEL_ON_BAT
+            type: select
+            values: auto,low,high
+  - name: Network
+    configs:
+      - group: WIFI_PWR
+        ids:
+          - id: WIFI_PWR_ON_AC
+            type: bselect
+            values: off,on
+          - id: WIFI_PWR_ON_BAT
+            type: bselect
+            values: off,on
+      - id: WOL_DISABLE
+        type: bselect
+        values: N,Y
+  - name: PCIe
+    configs:
+      - group: PCIE_ASPM
+        ids:
+          - id: PCIE_ASPM_ON_AC
+            type: select
+            values: default,performance,powersave,powersupersave
+          - id: PCIE_ASPM_ON_BAT
+            type: select
+            values: default,performance,powersave,powersupersave
+      - group: RUNTIME_PM
+        ids:
+          - id: RUNTIME_PM_ON_AC
+            type: bselect
+            values: on,auto
+          - id: RUNTIME_PM_ON_BAT
+            type: bselect
+            values: on,auto
+      - id: RUNTIME_PM_BLACKLIST
+        type: pcilist
+        values: ''
+      - id: RUNTIME_PM_DRIVER_BLACKLIST
+        type: multiselect
+        values: amdgpu,mei_me,nouveau,nvidia,pcieport,radeon
+  - name: Processor
+    configs:
+      - group: CPU_SCALING_GOVERNOR
+        ids:
+          - id: CPU_SCALING_GOVERNOR_ON_AC
+            type: select
+            values: ondemand,powersave,performance,conservative,schedutil
+          - id: CPU_SCALING_GOVERNOR_ON_BAT
+            type: select
+            values: ondemand,powersave,performance,conservative,schedutil
+      - group: CPU_SCALING_FREQ
+        ids:
+          - id: CPU_SCALING_MIN_FREQ_ON_AC
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MAX_FREQ_ON_AC
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MIN_FREQ_ON_BAT
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MAX_FREQ_ON_BAT
+            type: entry
+            values: ''
+      - group: CPU_ENERGY_PERF_POLICY
+        ids:
+          - id: CPU_ENERGY_PERF_POLICY_ON_AC
+            type: select
+            values: default,performance,balance_performance,balance_power,power
+          - id: CPU_ENERGY_PERF_POLICY_ON_BAT
+            type: select
+            values: default,performance,balance_performance,balance_power,power
+      - group: CPU_PERF
+        ids:
+          - id: CPU_MIN_PERF_ON_AC
+            type: numeric
+            values: 0-100
+          - id: CPU_MAX_PERF_ON_AC
+            type: numeric
+            values: 0-100
+          - id: CPU_MIN_PERF_ON_BAT
+            type: numeric
+            values: 0-100
+          - id: CPU_MAX_PERF_ON_BAT
+            type: numeric
+            values: 0-100
+      - group: CPU_BOOST
+        ids:
+          - id: CPU_BOOST_ON_AC
+            type: bselect
+            values: 0,1
+          - id: CPU_BOOST_ON_BAT
+            type: bselect
+            values: 0,1
+      - group: SCHED_POWERSAVE
+        ids:
+          - id: SCHED_POWERSAVE_ON_AC
+            type: bselect
+            values: 0,1
+          - id: SCHED_POWERSAVE_ON_BAT
+            type: bselect
+            values: 0,1
+      - id: NMI_WATCHDOG
+        type: bselect
+        values: 0,1
+      - id: PHC_CONTROLS
+        type: entry
+        values: ''
+  - name: Radio
+    configs:
+      - id: RESTORE_DEVICE_STATE_ON_STARTUP
+        type: bselect
+        values: 0,1
+      - id: DEVICES_TO_DISABLE_ON_STARTUP
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_STARTUP
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_SHUTDOWN
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_SHUTDOWN
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_AC
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_BAT
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE
+        type: check
+        values: bluetooth,wifi,wwan
+  - name: Radio Device Wizard
+    configs:
+      - group: DEVICES_TO_DISABLE_ON_CONNECT
+        ids:
+          - id: DEVICES_TO_DISABLE_ON_LAN_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_WIFI_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_WWAN_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_TO_ENABLE_ON_DISCONNECT
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_LAN_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_ON_DOCK
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_DOCK
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_DOCK
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_ON_UNDOCK
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_UNDOCK
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_UNDOCK
+            type: check
+            values: bluetooth,wifi,wwan
+  - name: USB
+    configs:
+      - id: USB_AUTOSUSPEND
+        type: bselect
+        values: 0,1
+      - id: USB_BLACKLIST
+        type: usblist
+        values: ''
+      - id: USB_BLACKLIST_BTUSB
+        type: bselect
+        values: 0,1
+      - id: USB_BLACKLIST_PHONE
+        type: bselect
+        values: 0,1
+      - id: USB_BLACKLIST_PRINTER
+        type: bselect
+        values: 0,1
+      - id: USB_BLACKLIST_WWAN
+        type: bselect
+        values: 0,1
+      - id: USB_WHITELIST
+        type: usblist
+        values: ''
+      - id: USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN
+        type: bselect
+        values: 0,1
+  - name: ThinkPad Battery
+    configs:
+      - group: CHARGE_THRESH_BAT0
+        ids:
+          - id: START_CHARGE_THRESH_BAT0
+            type: numeric
+            values: 1-96
+          - id: STOP_CHARGE_THRESH_BAT0
+            type: numeric
+            values: 5-100
+      - group: CHARGE_THRESH_BAT1
+        ids:
+          - id: START_CHARGE_THRESH_BAT1
+            type: numeric
+            values: 1-96
+          - id: STOP_CHARGE_THRESH_BAT1
+            type: numeric
+            values: 5-100
+      - id: RESTORE_THRESHOLDS_ON_BAT
+        type: bselect
+        values: 0,1
+      - id: NATACPI_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TPACPI_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TPSMAPI_ENABLE
+        type: bselect
+        values: 0,1
diff --git a/tlpui/configschema/1_4.json b/tlpui/configschema/1_4.json
deleted file mode 100644
index e63b359..0000000
--- a/tlpui/configschema/1_4.json
+++ /dev/null
@@ -1,744 +0,0 @@
-{
-  "categories": [
-    {
-      "name": "General",
-      "configs": [
-        {
-          "id": "TLP_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TLP_WARN_LEVEL",
-          "type": "select",
-          "values": "0,1,2,3"
-        },
-        {
-          "id": "TLP_DEFAULT_MODE",
-          "type": "select",
-          "values": "AC,BAT"
-        },
-        {
-          "id": "TLP_PERSISTENT_DEFAULT",
-          "type": "select",
-          "values": "0,1"
-        },
-        {
-          "id": "TLP_PS_IGNORE",
-          "type": "check",
-          "values": "AC,USB,BAT"
-        }
-      ]
-    },
-    {
-      "name": "Audio",
-      "configs": [
-        {
-          "group": "SOUND_POWER_SAVE",
-          "ids": [
-            {
-              "id": "SOUND_POWER_SAVE_ON_AC",
-              "type": "numeric",
-              "values": "0-3600"
-            },
-            {
-              "id": "SOUND_POWER_SAVE_ON_BAT",
-              "type": "numeric",
-              "values": "0-3600"
-            }
-          ]
-        },
-        {
-          "id": "SOUND_POWER_SAVE_CONTROLLER",
-          "type": "bselect",
-          "values": "N,Y"
-        }
-      ]
-    },
-    {
-      "name": "Disks",
-      "configs": [
-        {
-          "group": "DISK_IDLE_SECS",
-          "ids": [
-            {
-              "id": "DISK_IDLE_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-1000"
-            },
-            {
-              "id": "DISK_IDLE_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-1000"
-            }
-          ]
-        },
-        {
-          "group": "MAX_LOST_WORK_SECS",
-          "ids": [
-              {
-              "id": "MAX_LOST_WORK_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-10000"
-            },
-            {
-              "id": "MAX_LOST_WORK_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-10000"
-            }
-          ]
-        },
-        {
-          "id": "DISK_DEVICES",
-          "type": "disklist",
-          "values": ""
-        },
-        {
-          "group": "DISK_APM_LEVEL",
-          "ids": [
-            {
-              "id": "DISK_APM_LEVEL_ON_AC",
-              "type": "disklistview",
-              "values": "1-255"
-            },
-            {
-              "id": "DISK_APM_LEVEL_ON_BAT",
-              "type": "disklistview",
-              "values": "1-255"
-            }
-          ]
-        },
-        {
-          "id": "DISK_APM_CLASS_DENYLIST",
-          "type": "check",
-          "values": "sata,ata,usb,ieee1394"
-        },
-        {
-          "group": "DISK_SPINDOWN_TIMEOUT",
-          "ids": [
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_AC",
-              "type": "disklistview",
-              "values": "0-251"
-            },
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_BAT",
-              "type": "disklistview",
-              "values": "0-251"
-            }
-          ]
-        },
-        {
-          "id": "DISK_IOSCHED",
-          "type": "disklistview",
-          "values": "mq-deadline,none,kyber,bfq,deadline,cfq,noop"
-        },
-        {
-          "group": "SATA_LINKPWR",
-          "ids": [
-            {
-              "id": "SATA_LINKPWR_ON_AC",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance"
-            },
-            {
-              "id": "SATA_LINKPWR_ON_BAT",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance"
-            }
-          ]
-        },
-        {
-          "id": "SATA_LINKPWR_DENYLIST",
-          "type": "entry",
-          "values": ""
-        },
-        {
-          "group": "AHCI_RUNTIME_PM",
-          "ids": [
-            {
-              "id": "AHCI_RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto"
-            },
-            {
-              "id": "AHCI_RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto"
-            }
-          ]
-        },
-        {
-          "id": "AHCI_RUNTIME_PM_TIMEOUT",
-          "type": "numeric",
-          "values": "0-10000"
-        },
-        {
-          "group": "BAY_POWEROFF",
-          "ids": [
-            {
-              "id": "BAY_POWEROFF_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "BAY_POWEROFF_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "id": "BAY_DEVICE",
-          "type": "entry",
-          "values": ""
-        }
-      ]
-    },
-    {
-      "name": "Graphics",
-      "configs": [
-        {
-          "group": "INTEL_GPU_FREQ",
-          "ids": [
-            {
-              "id": "INTEL_GPU_MIN_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MIN_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MAX_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MAX_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_BOOST_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_BOOST_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_POWER_PROFILE",
-          "ids": [
-            {
-              "id": "RADEON_POWER_PROFILE_ON_AC",
-              "type": "select",
-              "values": "low,mid,high,auto,default"
-            },
-            {
-              "id": "RADEON_POWER_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "low,mid,high,auto,default"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_STATE",
-          "ids": [
-            {
-              "id": "RADEON_DPM_STATE_ON_AC",
-              "type": "select",
-              "values": "battery,performance"
-            },
-            {
-              "id": "RADEON_DPM_STATE_ON_BAT",
-              "type": "select",
-              "values": "battery,performance"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_PERF_LEVEL",
-          "ids": [
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_AC",
-              "type": "select",
-              "values": "auto,low,high"
-            },
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_BAT",
-              "type": "select",
-              "values": "auto,low,high"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Network",
-      "configs": [
-        {
-          "group": "WIFI_PWR",
-          "ids": [
-            {
-              "id": "WIFI_PWR_ON_AC",
-              "type": "bselect",
-              "values": "off,on"
-            },
-            {
-              "id": "WIFI_PWR_ON_BAT",
-              "type": "bselect",
-              "values": "off,on"
-            }
-          ]
-        },
-        {
-          "id": "WOL_DISABLE",
-          "type": "bselect",
-          "values": "N,Y"
-        }
-      ]
-    },
-    {
-      "name": "PCIe",
-      "configs": [
-        {
-          "group": "PCIE_ASPM",
-          "ids": [
-            {
-              "id": "PCIE_ASPM_ON_AC",
-              "type": "select",
-              "values": "default,performance,powersave,powersupersave"
-            },
-            {
-              "id": "PCIE_ASPM_ON_BAT",
-              "type": "select",
-              "values": "default,performance,powersave,powersupersave"
-            }
-          ]
-        },
-        {
-          "group": "RUNTIME_PM",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto"
-            },
-            {
-              "id": "RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto"
-            }
-          ]
-        },
-        {
-          "id": "RUNTIME_PM_DENYLIST",
-          "type": "pcilist",
-          "values": ""
-        },
-        {
-          "id": "RUNTIME_PM_DRIVER_DENYLIST",
-          "type": "entry",
-          "values": ""
-        },
-        {
-          "group": "RUNTIME_PM_DEVICE",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ENABLE",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "RUNTIME_PM_DISABLE",
-              "type": "entry",
-              "values": ""
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Processor",
-      "configs": [
-        {
-          "group": "CPU_SCALING_GOVERNOR",
-          "ids": [
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_AC",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil"
-            },
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_BAT",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil"
-            }
-          ]
-        },
-        {
-          "group": "CPU_SCALING_FREQ",
-          "ids": [
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_AC",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_AC",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_BAT",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_BAT",
-              "type": "entry",
-              "values": ""
-            }
-          ]
-        },
-        {
-          "group": "CPU_ENERGY_PERF_POLICY",
-          "ids": [
-            {
-              "id": "CPU_ENERGY_PERF_POLICY_ON_AC",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power"
-            },
-            {
-              "id": "CPU_ENERGY_PERF_POLICY_ON_BAT",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power"
-            }
-          ]
-        },
-        {
-          "group": "CPU_PERF",
-          "ids": [
-            {
-              "id": "CPU_MIN_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MIN_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100"
-            }
-          ]
-        },
-        {
-          "group": "CPU_BOOST",
-          "ids": [
-            {
-              "id": "CPU_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "CPU_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "group": "CPU_HWP_DYN_BOOST",
-          "ids": [
-            {
-              "id": "CPU_HWP_DYN_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "CPU_HWP_DYN_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "group": "SCHED_POWERSAVE",
-          "ids": [
-            {
-              "id": "SCHED_POWERSAVE_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "SCHED_POWERSAVE_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "id": "NMI_WATCHDOG",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "group": "PLATFORM_PROFILE",
-          "ids": [
-            {
-              "id": "PLATFORM_PROFILE_ON_AC",
-              "type": "select",
-              "values": "performance,balanced,low-power"
-            },
-            {
-              "id": "PLATFORM_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "performance,balanced,low-power"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Radio",
-      "configs": [
-        {
-          "id": "RESTORE_DEVICE_STATE_ON_STARTUP",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_AC",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE",
-          "type": "check",
-          "values": "bluetooth,wifi,wwan"
-        }
-      ]
-    },
-    {
-      "name": "Radio Device Wizard",
-      "configs": [
-        {
-          "group": "DEVICES_TO_DISABLE_ON_CONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_DISABLE_ON_LAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WIFI_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WWAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_TO_ENABLE_ON_DISCONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_LAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_DOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_UNDOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "USB",
-      "configs": [
-        {
-          "id": "USB_AUTOSUSPEND",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_DENYLIST",
-          "type": "usblist",
-          "values": ""
-        },
-        {
-          "id": "USB_EXCLUDE_AUDIO",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_BTUSB",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_PHONE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_PRINTER",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_WWAN",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_ALLOWLIST",
-          "type": "usblist",
-          "values": ""
-        },
-        {
-          "id": "USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN",
-          "type": "bselect",
-          "values": "0,1"
-        }
-      ]
-    },
-    {
-      "name": "ThinkPad Battery",
-      "configs": [
-        {
-          "group": "CHARGE_THRESH_BAT0",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "0-96"
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "5-100"
-            }
-          ]
-        },
-        {
-          "group": "CHARGE_THRESH_BAT1",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "0-96"
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "5-100"
-            }
-          ]
-        },
-        {
-          "id": "RESTORE_THRESHOLDS_ON_BAT",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "NATACPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TPACPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TPSMAPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        }
-      ]
-    }
-  ]
-}
diff --git a/tlpui/configschema/1_4.yaml b/tlpui/configschema/1_4.yaml
new file mode 100644
index 0000000..d1e5be3
--- /dev/null
+++ b/tlpui/configschema/1_4.yaml
@@ -0,0 +1,404 @@
+categories:
+  - name: General
+    configs:
+      - id: TLP_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TLP_WARN_LEVEL
+        type: select
+        values: 0,1,2,3
+      - id: TLP_DEFAULT_MODE
+        type: select
+        values: AC,BAT
+      - id: TLP_PERSISTENT_DEFAULT
+        type: select
+        values: 0,1
+      - id: TLP_PS_IGNORE
+        type: check
+        values: AC,USB,BAT
+  - name: Audio
+    configs:
+      - group: SOUND_POWER_SAVE
+        ids:
+          - id: SOUND_POWER_SAVE_ON_AC
+            type: numeric
+            values: 0-3600
+          - id: SOUND_POWER_SAVE_ON_BAT
+            type: numeric
+            values: 0-3600
+      - id: SOUND_POWER_SAVE_CONTROLLER
+        type: bselect
+        values: N,Y
+  - name: Disks
+    configs:
+      - group: DISK_IDLE_SECS
+        ids:
+          - id: DISK_IDLE_SECS_ON_AC
+            type: numeric
+            values: 0-1000
+          - id: DISK_IDLE_SECS_ON_BAT
+            type: numeric
+            values: 0-1000
+      - group: MAX_LOST_WORK_SECS
+        ids:
+          - id: MAX_LOST_WORK_SECS_ON_AC
+            type: numeric
+            values: 0-10000
+          - id: MAX_LOST_WORK_SECS_ON_BAT
+            type: numeric
+            values: 0-10000
+      - id: DISK_DEVICES
+        type: disklist
+        values: ''
+      - group: DISK_APM_LEVEL
+        ids:
+          - id: DISK_APM_LEVEL_ON_AC
+            type: disklistview
+            values: 1-255
+          - id: DISK_APM_LEVEL_ON_BAT
+            type: disklistview
+            values: 1-255
+      - id: DISK_APM_CLASS_DENYLIST
+        type: check
+        values: sata,ata,usb,ieee1394
+      - group: DISK_SPINDOWN_TIMEOUT
+        ids:
+          - id: DISK_SPINDOWN_TIMEOUT_ON_AC
+            type: disklistview
+            values: 0-251
+          - id: DISK_SPINDOWN_TIMEOUT_ON_BAT
+            type: disklistview
+            values: 0-251
+      - id: DISK_IOSCHED
+        type: disklistview
+        values: mq-deadline,none,kyber,bfq,deadline,cfq,noop
+      - group: SATA_LINKPWR
+        ids:
+          - id: SATA_LINKPWR_ON_AC
+            type: multiselect
+            values: min_power,med_power_with_dipm,medium_power,max_performance
+          - id: SATA_LINKPWR_ON_BAT
+            type: multiselect
+            values: min_power,med_power_with_dipm,medium_power,max_performance
+      - id: SATA_LINKPWR_DENYLIST
+        type: entry
+        values: ''
+      - group: AHCI_RUNTIME_PM
+        ids:
+          - id: AHCI_RUNTIME_PM_ON_AC
+            type: bselect
+            values: on,auto
+          - id: AHCI_RUNTIME_PM_ON_BAT
+            type: bselect
+            values: on,auto
+      - id: AHCI_RUNTIME_PM_TIMEOUT
+        type: numeric
+        values: 0-10000
+      - group: BAY_POWEROFF
+        ids:
+          - id: BAY_POWEROFF_ON_AC
+            type: bselect
+            values: 0,1
+          - id: BAY_POWEROFF_ON_BAT
+            type: bselect
+            values: 0,1
+      - id: BAY_DEVICE
+        type: entry
+        values: ''
+  - name: Graphics
+    configs:
+      - group: INTEL_GPU_FREQ
+        ids:
+          - id: INTEL_GPU_MIN_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MIN_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MAX_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MAX_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_BOOST_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_BOOST_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+      - group: RADEON_POWER_PROFILE
+        ids:
+          - id: RADEON_POWER_PROFILE_ON_AC
+            type: select
+            values: low,mid,high,auto,default
+          - id: RADEON_POWER_PROFILE_ON_BAT
+            type: select
+            values: low,mid,high,auto,default
+      - group: RADEON_DPM_STATE
+        ids:
+          - id: RADEON_DPM_STATE_ON_AC
+            type: select
+            values: battery,performance
+          - id: RADEON_DPM_STATE_ON_BAT
+            type: select
+            values: battery,performance
+      - group: RADEON_DPM_PERF_LEVEL
+        ids:
+          - id: RADEON_DPM_PERF_LEVEL_ON_AC
+            type: select
+            values: auto,low,high
+          - id: RADEON_DPM_PERF_LEVEL_ON_BAT
+            type: select
+            values: auto,low,high
+  - name: Network
+    configs:
+      - group: WIFI_PWR
+        ids:
+          - id: WIFI_PWR_ON_AC
+            type: bselect
+            values: off,on
+          - id: WIFI_PWR_ON_BAT
+            type: bselect
+            values: off,on
+      - id: WOL_DISABLE
+        type: bselect
+        values: N,Y
+  - name: PCIe
+    configs:
+      - group: PCIE_ASPM
+        ids:
+          - id: PCIE_ASPM_ON_AC
+            type: select
+            values: default,performance,powersave,powersupersave
+          - id: PCIE_ASPM_ON_BAT
+            type: select
+            values: default,performance,powersave,powersupersave
+      - group: RUNTIME_PM
+        ids:
+          - id: RUNTIME_PM_ON_AC
+            type: bselect
+            values: on,auto
+          - id: RUNTIME_PM_ON_BAT
+            type: bselect
+            values: on,auto
+      - id: RUNTIME_PM_DENYLIST
+        type: pcilist
+        values: ''
+      - id: RUNTIME_PM_DRIVER_DENYLIST
+        type: entry
+        values: ''
+      - group: RUNTIME_PM_DEVICE
+        ids:
+          - id: RUNTIME_PM_ENABLE
+            type: entry
+            values: ''
+          - id: RUNTIME_PM_DISABLE
+            type: entry
+            values: ''
+  - name: Processor
+    configs:
+      - group: CPU_SCALING_GOVERNOR
+        ids:
+          - id: CPU_SCALING_GOVERNOR_ON_AC
+            type: select
+            values: ondemand,powersave,performance,conservative,schedutil
+          - id: CPU_SCALING_GOVERNOR_ON_BAT
+            type: select
+            values: ondemand,powersave,performance,conservative,schedutil
+      - group: CPU_SCALING_FREQ
+        ids:
+          - id: CPU_SCALING_MIN_FREQ_ON_AC
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MAX_FREQ_ON_AC
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MIN_FREQ_ON_BAT
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MAX_FREQ_ON_BAT
+            type: entry
+            values: ''
+      - group: CPU_ENERGY_PERF_POLICY
+        ids:
+          - id: CPU_ENERGY_PERF_POLICY_ON_AC
+            type: select
+            values: default,performance,balance_performance,balance_power,power
+          - id: CPU_ENERGY_PERF_POLICY_ON_BAT
+            type: select
+            values: default,performance,balance_performance,balance_power,power
+      - group: CPU_PERF
+        ids:
+          - id: CPU_MIN_PERF_ON_AC
+            type: numeric
+            values: 0-100
+          - id: CPU_MAX_PERF_ON_AC
+            type: numeric
+            values: 0-100
+          - id: CPU_MIN_PERF_ON_BAT
+            type: numeric
+            values: 0-100
+          - id: CPU_MAX_PERF_ON_BAT
+            type: numeric
+            values: 0-100
+      - group: CPU_BOOST
+        ids:
+          - id: CPU_BOOST_ON_AC
+            type: bselect
+            values: 0,1
+          - id: CPU_BOOST_ON_BAT
+            type: bselect
+            values: 0,1
+      - group: CPU_HWP_DYN_BOOST
+        ids:
+          - id: CPU_HWP_DYN_BOOST_ON_AC
+            type: bselect
+            values: 0,1
+          - id: CPU_HWP_DYN_BOOST_ON_BAT
+            type: bselect
+            values: 0,1
+      - group: SCHED_POWERSAVE
+        ids:
+          - id: SCHED_POWERSAVE_ON_AC
+            type: bselect
+            values: 0,1
+          - id: SCHED_POWERSAVE_ON_BAT
+            type: bselect
+            values: 0,1
+      - id: NMI_WATCHDOG
+        type: bselect
+        values: 0,1
+      - group: PLATFORM_PROFILE
+        ids:
+          - id: PLATFORM_PROFILE_ON_AC
+            type: select
+            values: performance,balanced,low-power
+          - id: PLATFORM_PROFILE_ON_BAT
+            type: select
+            values: performance,balanced,low-power
+  - name: Radio
+    configs:
+      - id: RESTORE_DEVICE_STATE_ON_STARTUP
+        type: bselect
+        values: 0,1
+      - id: DEVICES_TO_DISABLE_ON_STARTUP
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_STARTUP
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_SHUTDOWN
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_SHUTDOWN
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_AC
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_BAT
+        type: check
+        values: bluetooth,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE
+        type: check
+        values: bluetooth,wifi,wwan
+  - name: Radio Device Wizard
+    configs:
+      - group: DEVICES_TO_DISABLE_ON_CONNECT
+        ids:
+          - id: DEVICES_TO_DISABLE_ON_LAN_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_WIFI_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_WWAN_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_TO_ENABLE_ON_DISCONNECT
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_LAN_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_ON_DOCK
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_DOCK
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_DOCK
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_ON_UNDOCK
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_UNDOCK
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_UNDOCK
+            type: check
+            values: bluetooth,wifi,wwan
+  - name: USB
+    configs:
+      - id: USB_AUTOSUSPEND
+        type: bselect
+        values: 0,1
+      - id: USB_DENYLIST
+        type: usblist
+        values: ''
+      - id: USB_EXCLUDE_AUDIO
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_BTUSB
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_PHONE
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_PRINTER
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_WWAN
+        type: bselect
+        values: 0,1
+      - id: USB_ALLOWLIST
+        type: usblist
+        values: ''
+      - id: USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN
+        type: bselect
+        values: 0,1
+  - name: ThinkPad Battery
+    configs:
+      - group: CHARGE_THRESH_BAT0
+        ids:
+          - id: START_CHARGE_THRESH_BAT0
+            type: numeric
+            values: 0-96
+          - id: STOP_CHARGE_THRESH_BAT0
+            type: numeric
+            values: 5-100
+      - group: CHARGE_THRESH_BAT1
+        ids:
+          - id: START_CHARGE_THRESH_BAT1
+            type: numeric
+            values: 0-96
+          - id: STOP_CHARGE_THRESH_BAT1
+            type: numeric
+            values: 5-100
+      - id: RESTORE_THRESHOLDS_ON_BAT
+        type: bselect
+        values: 0,1
+      - id: NATACPI_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TPACPI_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TPSMAPI_ENABLE
+        type: bselect
+        values: 0,1
diff --git a/tlpui/configschema/1_5.json b/tlpui/configschema/1_5.json
deleted file mode 100644
index eb25701..0000000
--- a/tlpui/configschema/1_5.json
+++ /dev/null
@@ -1,744 +0,0 @@
-{
-  "categories": [
-    {
-      "name": "General",
-      "configs": [
-        {
-          "id": "TLP_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TLP_WARN_LEVEL",
-          "type": "select",
-          "values": "0,1,2,3"
-        },
-        {
-          "id": "TLP_DEFAULT_MODE",
-          "type": "select",
-          "values": "AC,BAT"
-        },
-        {
-          "id": "TLP_PERSISTENT_DEFAULT",
-          "type": "select",
-          "values": "0,1"
-        },
-        {
-          "id": "TLP_PS_IGNORE",
-          "type": "check",
-          "values": "AC,USB,BAT"
-        }
-      ]
-    },
-    {
-      "name": "Audio",
-      "configs": [
-        {
-          "group": "SOUND_POWER_SAVE",
-          "ids": [
-            {
-              "id": "SOUND_POWER_SAVE_ON_AC",
-              "type": "numeric",
-              "values": "0-3600"
-            },
-            {
-              "id": "SOUND_POWER_SAVE_ON_BAT",
-              "type": "numeric",
-              "values": "0-3600"
-            }
-          ]
-        },
-        {
-          "id": "SOUND_POWER_SAVE_CONTROLLER",
-          "type": "bselect",
-          "values": "N,Y"
-        }
-      ]
-    },
-    {
-      "name": "Disks",
-      "configs": [
-        {
-          "group": "DISK_IDLE_SECS",
-          "ids": [
-            {
-              "id": "DISK_IDLE_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-1000"
-            },
-            {
-              "id": "DISK_IDLE_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-1000"
-            }
-          ]
-        },
-        {
-          "group": "MAX_LOST_WORK_SECS",
-          "ids": [
-              {
-              "id": "MAX_LOST_WORK_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-10000"
-            },
-            {
-              "id": "MAX_LOST_WORK_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-10000"
-            }
-          ]
-        },
-        {
-          "id": "DISK_DEVICES",
-          "type": "disklist",
-          "values": ""
-        },
-        {
-          "group": "DISK_APM_LEVEL",
-          "ids": [
-            {
-              "id": "DISK_APM_LEVEL_ON_AC",
-              "type": "disklistview",
-              "values": "1-255"
-            },
-            {
-              "id": "DISK_APM_LEVEL_ON_BAT",
-              "type": "disklistview",
-              "values": "1-255"
-            }
-          ]
-        },
-        {
-          "id": "DISK_APM_CLASS_DENYLIST",
-          "type": "check",
-          "values": "sata,ata,usb,ieee1394"
-        },
-        {
-          "group": "DISK_SPINDOWN_TIMEOUT",
-          "ids": [
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_AC",
-              "type": "disklistview",
-              "values": "0-251"
-            },
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_BAT",
-              "type": "disklistview",
-              "values": "0-251"
-            }
-          ]
-        },
-        {
-          "id": "DISK_IOSCHED",
-          "type": "disklistview",
-          "values": "mq-deadline,none,kyber,bfq,deadline,cfq,noop"
-        },
-        {
-          "group": "SATA_LINKPWR",
-          "ids": [
-            {
-              "id": "SATA_LINKPWR_ON_AC",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance"
-            },
-            {
-              "id": "SATA_LINKPWR_ON_BAT",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance"
-            }
-          ]
-        },
-        {
-          "id": "SATA_LINKPWR_DENYLIST",
-          "type": "entry",
-          "values": ""
-        },
-        {
-          "group": "AHCI_RUNTIME_PM",
-          "ids": [
-            {
-              "id": "AHCI_RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto"
-            },
-            {
-              "id": "AHCI_RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto"
-            }
-          ]
-        },
-        {
-          "id": "AHCI_RUNTIME_PM_TIMEOUT",
-          "type": "numeric",
-          "values": "0-10000"
-        },
-        {
-          "group": "BAY_POWEROFF",
-          "ids": [
-            {
-              "id": "BAY_POWEROFF_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "BAY_POWEROFF_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "id": "BAY_DEVICE",
-          "type": "entry",
-          "values": ""
-        }
-      ]
-    },
-    {
-      "name": "Graphics",
-      "configs": [
-        {
-          "group": "INTEL_GPU_FREQ",
-          "ids": [
-            {
-              "id": "INTEL_GPU_MIN_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MIN_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MAX_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MAX_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_BOOST_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_BOOST_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_POWER_PROFILE",
-          "ids": [
-            {
-              "id": "RADEON_POWER_PROFILE_ON_AC",
-              "type": "select",
-              "values": "low,mid,high,auto,default"
-            },
-            {
-              "id": "RADEON_POWER_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "low,mid,high,auto,default"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_STATE",
-          "ids": [
-            {
-              "id": "RADEON_DPM_STATE_ON_AC",
-              "type": "select",
-              "values": "battery,performance"
-            },
-            {
-              "id": "RADEON_DPM_STATE_ON_BAT",
-              "type": "select",
-              "values": "battery,performance"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_PERF_LEVEL",
-          "ids": [
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_AC",
-              "type": "select",
-              "values": "auto,low,high"
-            },
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_BAT",
-              "type": "select",
-              "values": "auto,low,high"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Network",
-      "configs": [
-        {
-          "group": "WIFI_PWR",
-          "ids": [
-            {
-              "id": "WIFI_PWR_ON_AC",
-              "type": "bselect",
-              "values": "off,on"
-            },
-            {
-              "id": "WIFI_PWR_ON_BAT",
-              "type": "bselect",
-              "values": "off,on"
-            }
-          ]
-        },
-        {
-          "id": "WOL_DISABLE",
-          "type": "bselect",
-          "values": "N,Y"
-        }
-      ]
-    },
-    {
-      "name": "PCIe",
-      "configs": [
-        {
-          "group": "PCIE_ASPM",
-          "ids": [
-            {
-              "id": "PCIE_ASPM_ON_AC",
-              "type": "select",
-              "values": "default,performance,powersave,powersupersave"
-            },
-            {
-              "id": "PCIE_ASPM_ON_BAT",
-              "type": "select",
-              "values": "default,performance,powersave,powersupersave"
-            }
-          ]
-        },
-        {
-          "group": "RUNTIME_PM",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto"
-            },
-            {
-              "id": "RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto"
-            }
-          ]
-        },
-        {
-          "id": "RUNTIME_PM_DENYLIST",
-          "type": "pcilist",
-          "values": ""
-        },
-        {
-          "id": "RUNTIME_PM_DRIVER_DENYLIST",
-          "type": "entry",
-          "values": ""
-        },
-        {
-          "group": "RUNTIME_PM_DEVICE",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ENABLE",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "RUNTIME_PM_DISABLE",
-              "type": "entry",
-              "values": ""
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Processor",
-      "configs": [
-        {
-          "group": "CPU_SCALING_GOVERNOR",
-          "ids": [
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_AC",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil"
-            },
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_BAT",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil"
-            }
-          ]
-        },
-        {
-          "group": "CPU_SCALING_FREQ",
-          "ids": [
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_AC",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_AC",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_BAT",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_BAT",
-              "type": "entry",
-              "values": ""
-            }
-          ]
-        },
-        {
-          "group": "CPU_ENERGY_PERF_POLICY",
-          "ids": [
-            {
-              "id": "CPU_ENERGY_PERF_POLICY_ON_AC",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power"
-            },
-            {
-              "id": "CPU_ENERGY_PERF_POLICY_ON_BAT",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power"
-            }
-          ]
-        },
-        {
-          "group": "CPU_PERF",
-          "ids": [
-            {
-              "id": "CPU_MIN_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MIN_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100"
-            }
-          ]
-        },
-        {
-          "group": "CPU_BOOST",
-          "ids": [
-            {
-              "id": "CPU_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "CPU_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "group": "CPU_HWP_DYN_BOOST",
-          "ids": [
-            {
-              "id": "CPU_HWP_DYN_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "CPU_HWP_DYN_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "group": "SCHED_POWERSAVE",
-          "ids": [
-            {
-              "id": "SCHED_POWERSAVE_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "SCHED_POWERSAVE_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "id": "NMI_WATCHDOG",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "group": "PLATFORM_PROFILE",
-          "ids": [
-            {
-              "id": "PLATFORM_PROFILE_ON_AC",
-              "type": "select",
-              "values": "performance,balanced,low-power"
-            },
-            {
-              "id": "PLATFORM_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "performance,balanced,low-power"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Radio",
-      "configs": [
-        {
-          "id": "RESTORE_DEVICE_STATE_ON_STARTUP",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_AC",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        }
-      ]
-    },
-    {
-      "name": "Radio Device Wizard",
-      "configs": [
-        {
-          "group": "DEVICES_TO_DISABLE_ON_CONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_DISABLE_ON_LAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WIFI_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WWAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_TO_ENABLE_ON_DISCONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_LAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_DOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_UNDOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "USB",
-      "configs": [
-        {
-          "id": "USB_AUTOSUSPEND",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_DENYLIST",
-          "type": "usblist",
-          "values": ""
-        },
-        {
-          "id": "USB_EXCLUDE_AUDIO",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_BTUSB",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_PHONE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_PRINTER",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_WWAN",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_ALLOWLIST",
-          "type": "usblist",
-          "values": ""
-        },
-        {
-          "id": "USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN",
-          "type": "bselect",
-          "values": "0,1"
-        }
-      ]
-    },
-    {
-      "name": "ThinkPad Battery",
-      "configs": [
-        {
-          "group": "CHARGE_THRESH_BAT0",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "0-96"
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "5-100"
-            }
-          ]
-        },
-        {
-          "group": "CHARGE_THRESH_BAT1",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "0-96"
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "5-100"
-            }
-          ]
-        },
-        {
-          "id": "RESTORE_THRESHOLDS_ON_BAT",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "NATACPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TPACPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TPSMAPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        }
-      ]
-    }
-  ]
-}
diff --git a/tlpui/configschema/1_5.yaml b/tlpui/configschema/1_5.yaml
new file mode 100644
index 0000000..6be7e87
--- /dev/null
+++ b/tlpui/configschema/1_5.yaml
@@ -0,0 +1,404 @@
+categories:
+  - name: General
+    configs:
+      - id: TLP_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TLP_WARN_LEVEL
+        type: select
+        values: 0,1,2,3
+      - id: TLP_DEFAULT_MODE
+        type: select
+        values: AC,BAT
+      - id: TLP_PERSISTENT_DEFAULT
+        type: select
+        values: 0,1
+      - id: TLP_PS_IGNORE
+        type: check
+        values: AC,USB,BAT
+  - name: Audio
+    configs:
+      - group: SOUND_POWER_SAVE
+        ids:
+          - id: SOUND_POWER_SAVE_ON_AC
+            type: numeric
+            values: 0-3600
+          - id: SOUND_POWER_SAVE_ON_BAT
+            type: numeric
+            values: 0-3600
+      - id: SOUND_POWER_SAVE_CONTROLLER
+        type: bselect
+        values: N,Y
+  - name: Disks
+    configs:
+      - group: DISK_IDLE_SECS
+        ids:
+          - id: DISK_IDLE_SECS_ON_AC
+            type: numeric
+            values: 0-1000
+          - id: DISK_IDLE_SECS_ON_BAT
+            type: numeric
+            values: 0-1000
+      - group: MAX_LOST_WORK_SECS
+        ids:
+          - id: MAX_LOST_WORK_SECS_ON_AC
+            type: numeric
+            values: 0-10000
+          - id: MAX_LOST_WORK_SECS_ON_BAT
+            type: numeric
+            values: 0-10000
+      - id: DISK_DEVICES
+        type: disklist
+        values: ''
+      - group: DISK_APM_LEVEL
+        ids:
+          - id: DISK_APM_LEVEL_ON_AC
+            type: disklistview
+            values: 1-255
+          - id: DISK_APM_LEVEL_ON_BAT
+            type: disklistview
+            values: 1-255
+      - id: DISK_APM_CLASS_DENYLIST
+        type: check
+        values: sata,ata,usb,ieee1394
+      - group: DISK_SPINDOWN_TIMEOUT
+        ids:
+          - id: DISK_SPINDOWN_TIMEOUT_ON_AC
+            type: disklistview
+            values: 0-251
+          - id: DISK_SPINDOWN_TIMEOUT_ON_BAT
+            type: disklistview
+            values: 0-251
+      - id: DISK_IOSCHED
+        type: disklistview
+        values: mq-deadline,none,kyber,bfq,deadline,cfq,noop
+      - group: SATA_LINKPWR
+        ids:
+          - id: SATA_LINKPWR_ON_AC
+            type: multiselect
+            values: min_power,med_power_with_dipm,medium_power,max_performance
+          - id: SATA_LINKPWR_ON_BAT
+            type: multiselect
+            values: min_power,med_power_with_dipm,medium_power,max_performance
+      - id: SATA_LINKPWR_DENYLIST
+        type: entry
+        values: ''
+      - group: AHCI_RUNTIME_PM
+        ids:
+          - id: AHCI_RUNTIME_PM_ON_AC
+            type: bselect
+            values: on,auto
+          - id: AHCI_RUNTIME_PM_ON_BAT
+            type: bselect
+            values: on,auto
+      - id: AHCI_RUNTIME_PM_TIMEOUT
+        type: numeric
+        values: 0-10000
+      - group: BAY_POWEROFF
+        ids:
+          - id: BAY_POWEROFF_ON_AC
+            type: bselect
+            values: 0,1
+          - id: BAY_POWEROFF_ON_BAT
+            type: bselect
+            values: 0,1
+      - id: BAY_DEVICE
+        type: entry
+        values: ''
+  - name: Graphics
+    configs:
+      - group: INTEL_GPU_FREQ
+        ids:
+          - id: INTEL_GPU_MIN_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MIN_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MAX_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MAX_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_BOOST_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_BOOST_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+      - group: RADEON_POWER_PROFILE
+        ids:
+          - id: RADEON_POWER_PROFILE_ON_AC
+            type: select
+            values: low,mid,high,auto,default
+          - id: RADEON_POWER_PROFILE_ON_BAT
+            type: select
+            values: low,mid,high,auto,default
+      - group: RADEON_DPM_STATE
+        ids:
+          - id: RADEON_DPM_STATE_ON_AC
+            type: select
+            values: battery,performance
+          - id: RADEON_DPM_STATE_ON_BAT
+            type: select
+            values: battery,performance
+      - group: RADEON_DPM_PERF_LEVEL
+        ids:
+          - id: RADEON_DPM_PERF_LEVEL_ON_AC
+            type: select
+            values: auto,low,high
+          - id: RADEON_DPM_PERF_LEVEL_ON_BAT
+            type: select
+            values: auto,low,high
+  - name: Network
+    configs:
+      - group: WIFI_PWR
+        ids:
+          - id: WIFI_PWR_ON_AC
+            type: bselect
+            values: off,on
+          - id: WIFI_PWR_ON_BAT
+            type: bselect
+            values: off,on
+      - id: WOL_DISABLE
+        type: bselect
+        values: N,Y
+  - name: PCIe
+    configs:
+      - group: PCIE_ASPM
+        ids:
+          - id: PCIE_ASPM_ON_AC
+            type: select
+            values: default,performance,powersave,powersupersave
+          - id: PCIE_ASPM_ON_BAT
+            type: select
+            values: default,performance,powersave,powersupersave
+      - group: RUNTIME_PM
+        ids:
+          - id: RUNTIME_PM_ON_AC
+            type: bselect
+            values: on,auto
+          - id: RUNTIME_PM_ON_BAT
+            type: bselect
+            values: on,auto
+      - id: RUNTIME_PM_DENYLIST
+        type: pcilist
+        values: ''
+      - id: RUNTIME_PM_DRIVER_DENYLIST
+        type: entry
+        values: ''
+      - group: RUNTIME_PM_DEVICE
+        ids:
+          - id: RUNTIME_PM_ENABLE
+            type: entry
+            values: ''
+          - id: RUNTIME_PM_DISABLE
+            type: entry
+            values: ''
+  - name: Processor
+    configs:
+      - group: CPU_SCALING_GOVERNOR
+        ids:
+          - id: CPU_SCALING_GOVERNOR_ON_AC
+            type: select
+            values: ondemand,powersave,performance,conservative,schedutil
+          - id: CPU_SCALING_GOVERNOR_ON_BAT
+            type: select
+            values: ondemand,powersave,performance,conservative,schedutil
+      - group: CPU_SCALING_FREQ
+        ids:
+          - id: CPU_SCALING_MIN_FREQ_ON_AC
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MAX_FREQ_ON_AC
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MIN_FREQ_ON_BAT
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MAX_FREQ_ON_BAT
+            type: entry
+            values: ''
+      - group: CPU_ENERGY_PERF_POLICY
+        ids:
+          - id: CPU_ENERGY_PERF_POLICY_ON_AC
+            type: select
+            values: default,performance,balance_performance,balance_power,power
+          - id: CPU_ENERGY_PERF_POLICY_ON_BAT
+            type: select
+            values: default,performance,balance_performance,balance_power,power
+      - group: CPU_PERF
+        ids:
+          - id: CPU_MIN_PERF_ON_AC
+            type: numeric
+            values: 0-100
+          - id: CPU_MAX_PERF_ON_AC
+            type: numeric
+            values: 0-100
+          - id: CPU_MIN_PERF_ON_BAT
+            type: numeric
+            values: 0-100
+          - id: CPU_MAX_PERF_ON_BAT
+            type: numeric
+            values: 0-100
+      - group: CPU_BOOST
+        ids:
+          - id: CPU_BOOST_ON_AC
+            type: bselect
+            values: 0,1
+          - id: CPU_BOOST_ON_BAT
+            type: bselect
+            values: 0,1
+      - group: CPU_HWP_DYN_BOOST
+        ids:
+          - id: CPU_HWP_DYN_BOOST_ON_AC
+            type: bselect
+            values: 0,1
+          - id: CPU_HWP_DYN_BOOST_ON_BAT
+            type: bselect
+            values: 0,1
+      - group: SCHED_POWERSAVE
+        ids:
+          - id: SCHED_POWERSAVE_ON_AC
+            type: bselect
+            values: 0,1
+          - id: SCHED_POWERSAVE_ON_BAT
+            type: bselect
+            values: 0,1
+      - id: NMI_WATCHDOG
+        type: bselect
+        values: 0,1
+      - group: PLATFORM_PROFILE
+        ids:
+          - id: PLATFORM_PROFILE_ON_AC
+            type: select
+            values: performance,balanced,low-power
+          - id: PLATFORM_PROFILE_ON_BAT
+            type: select
+            values: performance,balanced,low-power
+  - name: Radio
+    configs:
+      - id: RESTORE_DEVICE_STATE_ON_STARTUP
+        type: bselect
+        values: 0,1
+      - id: DEVICES_TO_DISABLE_ON_STARTUP
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_STARTUP
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_SHUTDOWN
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_SHUTDOWN
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_AC
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_BAT
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+  - name: Radio Device Wizard
+    configs:
+      - group: DEVICES_TO_DISABLE_ON_CONNECT
+        ids:
+          - id: DEVICES_TO_DISABLE_ON_LAN_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_WIFI_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_WWAN_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_TO_ENABLE_ON_DISCONNECT
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_LAN_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_ON_DOCK
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_DOCK
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_DOCK
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_ON_UNDOCK
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_UNDOCK
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_UNDOCK
+            type: check
+            values: bluetooth,wifi,wwan
+  - name: USB
+    configs:
+      - id: USB_AUTOSUSPEND
+        type: bselect
+        values: 0,1
+      - id: USB_DENYLIST
+        type: usblist
+        values: ''
+      - id: USB_EXCLUDE_AUDIO
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_BTUSB
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_PHONE
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_PRINTER
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_WWAN
+        type: bselect
+        values: 0,1
+      - id: USB_ALLOWLIST
+        type: usblist
+        values: ''
+      - id: USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN
+        type: bselect
+        values: 0,1
+  - name: ThinkPad Battery
+    configs:
+      - group: CHARGE_THRESH_BAT0
+        ids:
+          - id: START_CHARGE_THRESH_BAT0
+            type: numeric
+            values: 0-96
+          - id: STOP_CHARGE_THRESH_BAT0
+            type: numeric
+            values: 5-100
+      - group: CHARGE_THRESH_BAT1
+        ids:
+          - id: START_CHARGE_THRESH_BAT1
+            type: numeric
+            values: 0-96
+          - id: STOP_CHARGE_THRESH_BAT1
+            type: numeric
+            values: 5-100
+      - id: RESTORE_THRESHOLDS_ON_BAT
+        type: bselect
+        values: 0,1
+      - id: NATACPI_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TPACPI_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TPSMAPI_ENABLE
+        type: bselect
+        values: 0,1
diff --git a/tlpui/configschema/1_6.json b/tlpui/configschema/1_6.json
deleted file mode 100644
index 984c40f..0000000
--- a/tlpui/configschema/1_6.json
+++ /dev/null
@@ -1,759 +0,0 @@
-{
-  "categories": [
-    {
-      "name": "General",
-      "configs": [
-        {
-          "id": "TLP_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TLP_WARN_LEVEL",
-          "type": "select",
-          "values": "0,1,2,3"
-        },
-        {
-          "id": "TLP_DEFAULT_MODE",
-          "type": "select",
-          "values": "AC,BAT"
-        },
-        {
-          "id": "TLP_PERSISTENT_DEFAULT",
-          "type": "select",
-          "values": "0,1"
-        },
-        {
-          "id": "TLP_PS_IGNORE",
-          "type": "check",
-          "values": "AC,USB,BAT"
-        }
-      ]
-    },
-    {
-      "name": "Audio",
-      "configs": [
-        {
-          "group": "SOUND_POWER_SAVE",
-          "ids": [
-            {
-              "id": "SOUND_POWER_SAVE_ON_AC",
-              "type": "numeric",
-              "values": "0-3600"
-            },
-            {
-              "id": "SOUND_POWER_SAVE_ON_BAT",
-              "type": "numeric",
-              "values": "0-3600"
-            }
-          ]
-        },
-        {
-          "id": "SOUND_POWER_SAVE_CONTROLLER",
-          "type": "bselect",
-          "values": "N,Y"
-        }
-      ]
-    },
-    {
-      "name": "Disks",
-      "configs": [
-        {
-          "group": "DISK_IDLE_SECS",
-          "ids": [
-            {
-              "id": "DISK_IDLE_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-1000"
-            },
-            {
-              "id": "DISK_IDLE_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-1000"
-            }
-          ]
-        },
-        {
-          "group": "MAX_LOST_WORK_SECS",
-          "ids": [
-              {
-              "id": "MAX_LOST_WORK_SECS_ON_AC",
-              "type": "numeric",
-              "values": "0-10000"
-            },
-            {
-              "id": "MAX_LOST_WORK_SECS_ON_BAT",
-              "type": "numeric",
-              "values": "0-10000"
-            }
-          ]
-        },
-        {
-          "id": "DISK_DEVICES",
-          "type": "disklist",
-          "values": ""
-        },
-        {
-          "group": "DISK_APM_LEVEL",
-          "ids": [
-            {
-              "id": "DISK_APM_LEVEL_ON_AC",
-              "type": "disklistview",
-              "values": "1-255"
-            },
-            {
-              "id": "DISK_APM_LEVEL_ON_BAT",
-              "type": "disklistview",
-              "values": "1-255"
-            }
-          ]
-        },
-        {
-          "id": "DISK_APM_CLASS_DENYLIST",
-          "type": "check",
-          "values": "sata,ata,usb,ieee1394"
-        },
-        {
-          "group": "DISK_SPINDOWN_TIMEOUT",
-          "ids": [
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_AC",
-              "type": "disklistview",
-              "values": "0-251"
-            },
-            {
-              "id": "DISK_SPINDOWN_TIMEOUT_ON_BAT",
-              "type": "disklistview",
-              "values": "0-251"
-            }
-          ]
-        },
-        {
-          "id": "DISK_IOSCHED",
-          "type": "disklistview",
-          "values": "mq-deadline,none,kyber,bfq,deadline,cfq,noop"
-        },
-        {
-          "group": "SATA_LINKPWR",
-          "ids": [
-            {
-              "id": "SATA_LINKPWR_ON_AC",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance"
-            },
-            {
-              "id": "SATA_LINKPWR_ON_BAT",
-              "type": "multiselect",
-              "values": "min_power,med_power_with_dipm,medium_power,max_performance"
-            }
-          ]
-        },
-        {
-          "id": "SATA_LINKPWR_DENYLIST",
-          "type": "entry",
-          "values": ""
-        },
-        {
-          "group": "AHCI_RUNTIME_PM",
-          "ids": [
-            {
-              "id": "AHCI_RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto"
-            },
-            {
-              "id": "AHCI_RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto"
-            }
-          ]
-        },
-        {
-          "id": "AHCI_RUNTIME_PM_TIMEOUT",
-          "type": "numeric",
-          "values": "0-10000"
-        },
-        {
-          "group": "BAY_POWEROFF",
-          "ids": [
-            {
-              "id": "BAY_POWEROFF_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "BAY_POWEROFF_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "id": "BAY_DEVICE",
-          "type": "entry",
-          "values": ""
-        }
-      ]
-    },
-    {
-      "name": "Graphics",
-      "configs": [
-        {
-          "group": "INTEL_GPU_FREQ",
-          "ids": [
-            {
-              "id": "INTEL_GPU_MIN_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MIN_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MAX_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_MAX_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_BOOST_FREQ_ON_AC",
-              "type": "numeric",
-              "values": "0-5000"
-            },
-            {
-              "id": "INTEL_GPU_BOOST_FREQ_ON_BAT",
-              "type": "numeric",
-              "values": "0-5000"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_POWER_PROFILE",
-          "ids": [
-            {
-              "id": "RADEON_POWER_PROFILE_ON_AC",
-              "type": "select",
-              "values": "low,mid,high,auto,default"
-            },
-            {
-              "id": "RADEON_POWER_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "low,mid,high,auto,default"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_STATE",
-          "ids": [
-            {
-              "id": "RADEON_DPM_STATE_ON_AC",
-              "type": "select",
-              "values": "battery,performance"
-            },
-            {
-              "id": "RADEON_DPM_STATE_ON_BAT",
-              "type": "select",
-              "values": "battery,performance"
-            }
-          ]
-        },
-        {
-          "group": "RADEON_DPM_PERF_LEVEL",
-          "ids": [
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_AC",
-              "type": "select",
-              "values": "auto,low,high"
-            },
-            {
-              "id": "RADEON_DPM_PERF_LEVEL_ON_BAT",
-              "type": "select",
-              "values": "auto,low,high"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Network",
-      "configs": [
-        {
-          "group": "WIFI_PWR",
-          "ids": [
-            {
-              "id": "WIFI_PWR_ON_AC",
-              "type": "bselect",
-              "values": "off,on"
-            },
-            {
-              "id": "WIFI_PWR_ON_BAT",
-              "type": "bselect",
-              "values": "off,on"
-            }
-          ]
-        },
-        {
-          "id": "WOL_DISABLE",
-          "type": "bselect",
-          "values": "N,Y"
-        }
-      ]
-    },
-    {
-      "name": "PCIe",
-      "configs": [
-        {
-          "group": "PCIE_ASPM",
-          "ids": [
-            {
-              "id": "PCIE_ASPM_ON_AC",
-              "type": "select",
-              "values": "default,performance,powersave,powersupersave"
-            },
-            {
-              "id": "PCIE_ASPM_ON_BAT",
-              "type": "select",
-              "values": "default,performance,powersave,powersupersave"
-            }
-          ]
-        },
-        {
-          "group": "RUNTIME_PM",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ON_AC",
-              "type": "bselect",
-              "values": "on,auto"
-            },
-            {
-              "id": "RUNTIME_PM_ON_BAT",
-              "type": "bselect",
-              "values": "on,auto"
-            }
-          ]
-        },
-        {
-          "id": "RUNTIME_PM_DENYLIST",
-          "type": "pcilist",
-          "values": ""
-        },
-        {
-          "id": "RUNTIME_PM_DRIVER_DENYLIST",
-          "type": "entry",
-          "values": ""
-        },
-        {
-          "group": "RUNTIME_PM_DEVICE",
-          "ids": [
-            {
-              "id": "RUNTIME_PM_ENABLE",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "RUNTIME_PM_DISABLE",
-              "type": "entry",
-              "values": ""
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Processor",
-      "configs": [
-        {
-          "group": "CPU_DRIVER_OPMODE",
-          "ids": [
-            {
-              "id": "CPU_DRIVER_OPMODE_ON_AC",
-              "type": "select",
-              "values": "active,passive,guided"
-            },
-            {
-              "id": "CPU_DRIVER_OPMODE_ON_BAT",
-              "type": "select",
-              "values": "active,passive,guided"
-            }
-          ]
-        },
-        {
-          "group": "CPU_SCALING_GOVERNOR",
-          "ids": [
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_AC",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil"
-            },
-            {
-              "id": "CPU_SCALING_GOVERNOR_ON_BAT",
-              "type": "select",
-              "values": "ondemand,powersave,performance,conservative,schedutil"
-            }
-          ]
-        },
-        {
-          "group": "CPU_SCALING_FREQ",
-          "ids": [
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_AC",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_AC",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MIN_FREQ_ON_BAT",
-              "type": "entry",
-              "values": ""
-            },
-            {
-              "id": "CPU_SCALING_MAX_FREQ_ON_BAT",
-              "type": "entry",
-              "values": ""
-            }
-          ]
-        },
-        {
-          "group": "CPU_ENERGY_PERF_POLICY",
-          "ids": [
-            {
-              "id": "CPU_ENERGY_PERF_POLICY_ON_AC",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power"
-            },
-            {
-              "id": "CPU_ENERGY_PERF_POLICY_ON_BAT",
-              "type": "select",
-              "values": "default,performance,balance_performance,balance_power,power"
-            }
-          ]
-        },
-        {
-          "group": "CPU_PERF",
-          "ids": [
-            {
-              "id": "CPU_MIN_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_AC",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MIN_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100"
-            },
-            {
-              "id": "CPU_MAX_PERF_ON_BAT",
-              "type": "numeric",
-              "values": "0-100"
-            }
-          ]
-        },
-        {
-          "group": "CPU_BOOST",
-          "ids": [
-            {
-              "id": "CPU_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "CPU_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "group": "CPU_HWP_DYN_BOOST",
-          "ids": [
-            {
-              "id": "CPU_HWP_DYN_BOOST_ON_AC",
-              "type": "bselect",
-              "values": "0,1"
-            },
-            {
-              "id": "CPU_HWP_DYN_BOOST_ON_BAT",
-              "type": "bselect",
-              "values": "0,1"
-            }
-          ]
-        },
-        {
-          "id": "NMI_WATCHDOG",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "group": "PLATFORM_PROFILE",
-          "ids": [
-            {
-              "id": "PLATFORM_PROFILE_ON_AC",
-              "type": "select",
-              "values": "performance,balanced,low-power"
-            },
-            {
-              "id": "PLATFORM_PROFILE_ON_BAT",
-              "type": "select",
-              "values": "performance,balanced,low-power"
-            }
-          ]
-        },
-        {
-          "group": "MEM_SLEEP",
-          "ids": [
-            {
-              "id": "MEM_SLEEP_ON_AC",
-              "type": "select",
-              "values": "s2idle,deep"
-            },
-            {
-              "id": "MEM_SLEEP_ON_BAT",
-              "type": "select",
-              "values": "s2idle,deep"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "Radio",
-      "configs": [
-        {
-          "id": "RESTORE_DEVICE_STATE_ON_STARTUP",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_STARTUP",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_SHUTDOWN",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_ENABLE_ON_AC",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        },
-        {
-          "id": "DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE",
-          "type": "check",
-          "values": "bluetooth,nfc,wifi,wwan"
-        }
-      ]
-    },
-    {
-      "name": "Radio Device Wizard",
-      "configs": [
-        {
-          "group": "DEVICES_TO_DISABLE_ON_CONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_DISABLE_ON_LAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WIFI_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_WWAN_CONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_TO_ENABLE_ON_DISCONNECT",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_LAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_DOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_DOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        },
-        {
-          "group": "DEVICES_ON_UNDOCK",
-          "ids": [
-            {
-              "id": "DEVICES_TO_ENABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            },
-            {
-              "id": "DEVICES_TO_DISABLE_ON_UNDOCK",
-              "type": "check",
-              "values": "bluetooth,wifi,wwan"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "name": "USB",
-      "configs": [
-        {
-          "id": "USB_AUTOSUSPEND",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_DENYLIST",
-          "type": "usblist",
-          "values": ""
-        },
-        {
-          "id": "USB_EXCLUDE_AUDIO",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_BTUSB",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_PHONE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_PRINTER",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_EXCLUDE_WWAN",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "USB_ALLOWLIST",
-          "type": "usblist",
-          "values": ""
-        },
-        {
-          "id": "USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN",
-          "type": "bselect",
-          "values": "0,1"
-        }
-      ]
-    },
-    {
-      "name": "ThinkPad Battery",
-      "configs": [
-        {
-          "group": "CHARGE_THRESH_BAT0",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "0-96"
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT0",
-              "type": "numeric",
-              "values": "5-100"
-            }
-          ]
-        },
-        {
-          "group": "CHARGE_THRESH_BAT1",
-          "ids": [
-            {
-              "id": "START_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "0-96"
-            },
-            {
-              "id": "STOP_CHARGE_THRESH_BAT1",
-              "type": "numeric",
-              "values": "5-100"
-            }
-          ]
-        },
-        {
-          "id": "RESTORE_THRESHOLDS_ON_BAT",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "NATACPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TPACPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        },
-        {
-          "id": "TPSMAPI_ENABLE",
-          "type": "bselect",
-          "values": "0,1"
-        }
-      ]
-    }
-  ]
-}
diff --git a/tlpui/configschema/1_6.yaml b/tlpui/configschema/1_6.yaml
new file mode 100644
index 0000000..15c94ff
--- /dev/null
+++ b/tlpui/configschema/1_6.yaml
@@ -0,0 +1,412 @@
+categories:
+  - name: General
+    configs:
+      - id: TLP_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TLP_WARN_LEVEL
+        type: select
+        values: 0,1,2,3
+      - id: TLP_DEFAULT_MODE
+        type: select
+        values: AC,BAT
+      - id: TLP_PERSISTENT_DEFAULT
+        type: select
+        values: 0,1
+      - id: TLP_PS_IGNORE
+        type: check
+        values: AC,USB,BAT
+  - name: Audio
+    configs:
+      - group: SOUND_POWER_SAVE
+        ids:
+          - id: SOUND_POWER_SAVE_ON_AC
+            type: numeric
+            values: 0-3600
+          - id: SOUND_POWER_SAVE_ON_BAT
+            type: numeric
+            values: 0-3600
+      - id: SOUND_POWER_SAVE_CONTROLLER
+        type: bselect
+        values: N,Y
+  - name: Disks
+    configs:
+      - group: DISK_IDLE_SECS
+        ids:
+          - id: DISK_IDLE_SECS_ON_AC
+            type: numeric
+            values: 0-1000
+          - id: DISK_IDLE_SECS_ON_BAT
+            type: numeric
+            values: 0-1000
+      - group: MAX_LOST_WORK_SECS
+        ids:
+          - id: MAX_LOST_WORK_SECS_ON_AC
+            type: numeric
+            values: 0-10000
+          - id: MAX_LOST_WORK_SECS_ON_BAT
+            type: numeric
+            values: 0-10000
+      - id: DISK_DEVICES
+        type: disklist
+        values: ''
+      - group: DISK_APM_LEVEL
+        ids:
+          - id: DISK_APM_LEVEL_ON_AC
+            type: disklistview
+            values: 1-255
+          - id: DISK_APM_LEVEL_ON_BAT
+            type: disklistview
+            values: 1-255
+      - id: DISK_APM_CLASS_DENYLIST
+        type: check
+        values: sata,ata,usb,ieee1394
+      - group: DISK_SPINDOWN_TIMEOUT
+        ids:
+          - id: DISK_SPINDOWN_TIMEOUT_ON_AC
+            type: disklistview
+            values: 0-251
+          - id: DISK_SPINDOWN_TIMEOUT_ON_BAT
+            type: disklistview
+            values: 0-251
+      - id: DISK_IOSCHED
+        type: disklistview
+        values: mq-deadline,none,kyber,bfq,deadline,cfq,noop
+      - group: SATA_LINKPWR
+        ids:
+          - id: SATA_LINKPWR_ON_AC
+            type: multiselect
+            values: min_power,med_power_with_dipm,medium_power,max_performance
+          - id: SATA_LINKPWR_ON_BAT
+            type: multiselect
+            values: min_power,med_power_with_dipm,medium_power,max_performance
+      - id: SATA_LINKPWR_DENYLIST
+        type: entry
+        values: ''
+      - group: AHCI_RUNTIME_PM
+        ids:
+          - id: AHCI_RUNTIME_PM_ON_AC
+            type: bselect
+            values: on,auto
+          - id: AHCI_RUNTIME_PM_ON_BAT
+            type: bselect
+            values: on,auto
+      - id: AHCI_RUNTIME_PM_TIMEOUT
+        type: numeric
+        values: 0-10000
+      - group: BAY_POWEROFF
+        ids:
+          - id: BAY_POWEROFF_ON_AC
+            type: bselect
+            values: 0,1
+          - id: BAY_POWEROFF_ON_BAT
+            type: bselect
+            values: 0,1
+      - id: BAY_DEVICE
+        type: entry
+        values: ''
+  - name: Graphics
+    configs:
+      - group: INTEL_GPU_FREQ
+        ids:
+          - id: INTEL_GPU_MIN_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MIN_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MAX_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MAX_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_BOOST_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_BOOST_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+      - group: RADEON_POWER_PROFILE
+        ids:
+          - id: RADEON_POWER_PROFILE_ON_AC
+            type: select
+            values: low,mid,high,auto,default
+          - id: RADEON_POWER_PROFILE_ON_BAT
+            type: select
+            values: low,mid,high,auto,default
+      - group: RADEON_DPM_STATE
+        ids:
+          - id: RADEON_DPM_STATE_ON_AC
+            type: select
+            values: battery,performance
+          - id: RADEON_DPM_STATE_ON_BAT
+            type: select
+            values: battery,performance
+      - group: RADEON_DPM_PERF_LEVEL
+        ids:
+          - id: RADEON_DPM_PERF_LEVEL_ON_AC
+            type: select
+            values: auto,low,high
+          - id: RADEON_DPM_PERF_LEVEL_ON_BAT
+            type: select
+            values: auto,low,high
+  - name: Network
+    configs:
+      - group: WIFI_PWR
+        ids:
+          - id: WIFI_PWR_ON_AC
+            type: bselect
+            values: off,on
+          - id: WIFI_PWR_ON_BAT
+            type: bselect
+            values: off,on
+      - id: WOL_DISABLE
+        type: bselect
+        values: N,Y
+  - name: PCIe
+    configs:
+      - group: PCIE_ASPM
+        ids:
+          - id: PCIE_ASPM_ON_AC
+            type: select
+            values: default,performance,powersave,powersupersave
+          - id: PCIE_ASPM_ON_BAT
+            type: select
+            values: default,performance,powersave,powersupersave
+      - group: RUNTIME_PM
+        ids:
+          - id: RUNTIME_PM_ON_AC
+            type: bselect
+            values: on,auto
+          - id: RUNTIME_PM_ON_BAT
+            type: bselect
+            values: on,auto
+      - id: RUNTIME_PM_DENYLIST
+        type: pcilist
+        values: ''
+      - id: RUNTIME_PM_DRIVER_DENYLIST
+        type: entry
+        values: ''
+      - group: RUNTIME_PM_DEVICE
+        ids:
+          - id: RUNTIME_PM_ENABLE
+            type: entry
+            values: ''
+          - id: RUNTIME_PM_DISABLE
+            type: entry
+            values: ''
+  - name: Processor
+    configs:
+      - group: CPU_DRIVER_OPMODE
+        ids:
+          - id: CPU_DRIVER_OPMODE_ON_AC
+            type: select
+            values: active,passive,guided
+          - id: CPU_DRIVER_OPMODE_ON_BAT
+            type: select
+            values: active,passive,guided
+      - group: CPU_SCALING_GOVERNOR
+        ids:
+          - id: CPU_SCALING_GOVERNOR_ON_AC
+            type: select
+            values: ondemand,powersave,performance,conservative,schedutil
+          - id: CPU_SCALING_GOVERNOR_ON_BAT
+            type: select
+            values: ondemand,powersave,performance,conservative,schedutil
+      - group: CPU_SCALING_FREQ
+        ids:
+          - id: CPU_SCALING_MIN_FREQ_ON_AC
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MAX_FREQ_ON_AC
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MIN_FREQ_ON_BAT
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MAX_FREQ_ON_BAT
+            type: entry
+            values: ''
+      - group: CPU_ENERGY_PERF_POLICY
+        ids:
+          - id: CPU_ENERGY_PERF_POLICY_ON_AC
+            type: select
+            values: default,performance,balance_performance,balance_power,power
+          - id: CPU_ENERGY_PERF_POLICY_ON_BAT
+            type: select
+            values: default,performance,balance_performance,balance_power,power
+      - group: CPU_PERF
+        ids:
+          - id: CPU_MIN_PERF_ON_AC
+            type: numeric
+            values: 0-100
+          - id: CPU_MAX_PERF_ON_AC
+            type: numeric
+            values: 0-100
+          - id: CPU_MIN_PERF_ON_BAT
+            type: numeric
+            values: 0-100
+          - id: CPU_MAX_PERF_ON_BAT
+            type: numeric
+            values: 0-100
+      - group: CPU_BOOST
+        ids:
+          - id: CPU_BOOST_ON_AC
+            type: bselect
+            values: 0,1
+          - id: CPU_BOOST_ON_BAT
+            type: bselect
+            values: 0,1
+      - group: CPU_HWP_DYN_BOOST
+        ids:
+          - id: CPU_HWP_DYN_BOOST_ON_AC
+            type: bselect
+            values: 0,1
+          - id: CPU_HWP_DYN_BOOST_ON_BAT
+            type: bselect
+            values: 0,1
+      - id: NMI_WATCHDOG
+        type: bselect
+        values: 0,1
+      - group: PLATFORM_PROFILE
+        ids:
+          - id: PLATFORM_PROFILE_ON_AC
+            type: select
+            values: performance,balanced,low-power
+          - id: PLATFORM_PROFILE_ON_BAT
+            type: select
+            values: performance,balanced,low-power
+      - group: MEM_SLEEP
+        ids:
+          - id: MEM_SLEEP_ON_AC
+            type: select
+            values: s2idle,deep
+          - id: MEM_SLEEP_ON_BAT
+            type: select
+            values: s2idle,deep
+  - name: Radio
+    configs:
+      - id: RESTORE_DEVICE_STATE_ON_STARTUP
+        type: bselect
+        values: 0,1
+      - id: DEVICES_TO_DISABLE_ON_STARTUP
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_STARTUP
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_SHUTDOWN
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_SHUTDOWN
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_AC
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_BAT
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+  - name: Radio Device Wizard
+    configs:
+      - group: DEVICES_TO_DISABLE_ON_CONNECT
+        ids:
+          - id: DEVICES_TO_DISABLE_ON_LAN_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_WIFI_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_WWAN_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_TO_ENABLE_ON_DISCONNECT
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_LAN_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_ON_DOCK
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_DOCK
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_DOCK
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_ON_UNDOCK
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_UNDOCK
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_UNDOCK
+            type: check
+            values: bluetooth,wifi,wwan
+  - name: USB
+    configs:
+      - id: USB_AUTOSUSPEND
+        type: bselect
+        values: 0,1
+      - id: USB_DENYLIST
+        type: usblist
+        values: ''
+      - id: USB_EXCLUDE_AUDIO
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_BTUSB
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_PHONE
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_PRINTER
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_WWAN
+        type: bselect
+        values: 0,1
+      - id: USB_ALLOWLIST
+        type: usblist
+        values: ''
+      - id: USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN
+        type: bselect
+        values: 0,1
+  - name: ThinkPad Battery
+    configs:
+      - group: CHARGE_THRESH_BAT0
+        ids:
+          - id: START_CHARGE_THRESH_BAT0
+            type: numeric
+            values: 0-96
+          - id: STOP_CHARGE_THRESH_BAT0
+            type: numeric
+            values: 5-100
+      - group: CHARGE_THRESH_BAT1
+        ids:
+          - id: START_CHARGE_THRESH_BAT1
+            type: numeric
+            values: 0-96
+          - id: STOP_CHARGE_THRESH_BAT1
+            type: numeric
+            values: 5-100
+      - id: RESTORE_THRESHOLDS_ON_BAT
+        type: bselect
+        values: 0,1
+      - id: NATACPI_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TPACPI_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TPSMAPI_ENABLE
+        type: bselect
+        values: 0,1
diff --git a/tlpui/configschema/1_7.yaml b/tlpui/configschema/1_7.yaml
new file mode 100644
index 0000000..a373288
--- /dev/null
+++ b/tlpui/configschema/1_7.yaml
@@ -0,0 +1,403 @@
+categories:
+  - name: General
+    configs:
+      - id: TLP_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TLP_WARN_LEVEL
+        type: select
+        values: 0,1,2,3
+      - id: TLP_DEFAULT_MODE
+        type: select
+        values: AC,BAT
+      - id: TLP_PERSISTENT_DEFAULT
+        type: select
+        values: 0,1
+      - id: TLP_PS_IGNORE
+        type: check
+        values: AC,USB,BAT
+  - name: Audio
+    configs:
+      - group: SOUND_POWER_SAVE
+        ids:
+          - id: SOUND_POWER_SAVE_ON_AC
+            type: numeric
+            values: 0-3600
+          - id: SOUND_POWER_SAVE_ON_BAT
+            type: numeric
+            values: 0-3600
+      - id: SOUND_POWER_SAVE_CONTROLLER
+        type: bselect
+        values: N,Y
+  - name: Disks
+    configs:
+      - group: DISK_IDLE_SECS
+        ids:
+          - id: DISK_IDLE_SECS_ON_AC
+            type: numeric
+            values: 0-1000
+          - id: DISK_IDLE_SECS_ON_BAT
+            type: numeric
+            values: 0-1000
+      - group: MAX_LOST_WORK_SECS
+        ids:
+          - id: MAX_LOST_WORK_SECS_ON_AC
+            type: numeric
+            values: 0-10000
+          - id: MAX_LOST_WORK_SECS_ON_BAT
+            type: numeric
+            values: 0-10000
+      - id: DISK_DEVICES
+        type: disklist
+        values: ''
+      - group: DISK_APM_LEVEL
+        ids:
+          - id: DISK_APM_LEVEL_ON_AC
+            type: disklistview
+            values: 1-255
+          - id: DISK_APM_LEVEL_ON_BAT
+            type: disklistview
+            values: 1-255
+      - id: DISK_APM_CLASS_DENYLIST
+        type: check
+        values: sata,ata,usb,ieee1394
+      - group: DISK_SPINDOWN_TIMEOUT
+        ids:
+          - id: DISK_SPINDOWN_TIMEOUT_ON_AC
+            type: disklistview
+            values: 0-251
+          - id: DISK_SPINDOWN_TIMEOUT_ON_BAT
+            type: disklistview
+            values: 0-251
+      - id: DISK_IOSCHED
+        type: disklistview
+        values: mq-deadline,none,kyber,bfq,deadline,cfq,noop
+      - group: SATA_LINKPWR
+        ids:
+          - id: SATA_LINKPWR_ON_AC
+            type: multiselect
+            values: min_power,med_power_with_dipm,medium_power,max_performance
+          - id: SATA_LINKPWR_ON_BAT
+            type: multiselect
+            values: min_power,med_power_with_dipm,medium_power,max_performance
+      - id: SATA_LINKPWR_DENYLIST
+        type: entry
+        values: ''
+      - group: AHCI_RUNTIME_PM
+        ids:
+          - id: AHCI_RUNTIME_PM_ON_AC
+            type: bselect
+            values: on,auto
+          - id: AHCI_RUNTIME_PM_ON_BAT
+            type: bselect
+            values: on,auto
+      - id: AHCI_RUNTIME_PM_TIMEOUT
+        type: numeric
+        values: 0-10000
+      - group: BAY_POWEROFF
+        ids:
+          - id: BAY_POWEROFF_ON_AC
+            type: bselect
+            values: 0,1
+          - id: BAY_POWEROFF_ON_BAT
+            type: bselect
+            values: 0,1
+      - id: BAY_DEVICE
+        type: entry
+        values: ''
+  - name: Graphics
+    configs:
+      - group: INTEL_GPU_FREQ
+        ids:
+          - id: INTEL_GPU_MIN_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MIN_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MAX_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_MAX_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_BOOST_FREQ_ON_AC
+            type: numeric
+            values: 0-5000
+          - id: INTEL_GPU_BOOST_FREQ_ON_BAT
+            type: numeric
+            values: 0-5000
+      - group: RADEON_POWER_PROFILE
+        ids:
+          - id: RADEON_POWER_PROFILE_ON_AC
+            type: select
+            values: low,mid,high,auto,default
+          - id: RADEON_POWER_PROFILE_ON_BAT
+            type: select
+            values: low,mid,high,auto,default
+      - group: RADEON_DPM_STATE
+        ids:
+          - id: RADEON_DPM_STATE_ON_AC
+            type: select
+            values: battery,performance
+          - id: RADEON_DPM_STATE_ON_BAT
+            type: select
+            values: battery,performance
+      - group: RADEON_DPM_PERF_LEVEL
+        ids:
+          - id: RADEON_DPM_PERF_LEVEL_ON_AC
+            type: select
+            values: auto,low,high
+          - id: RADEON_DPM_PERF_LEVEL_ON_BAT
+            type: select
+            values: auto,low,high
+  - name: Network
+    configs:
+      - group: WIFI_PWR
+        ids:
+          - id: WIFI_PWR_ON_AC
+            type: bselect
+            values: off,on
+          - id: WIFI_PWR_ON_BAT
+            type: bselect
+            values: off,on
+      - id: WOL_DISABLE
+        type: bselect
+        values: N,Y
+  - name: PCIe
+    configs:
+      - group: PCIE_ASPM
+        ids:
+          - id: PCIE_ASPM_ON_AC
+            type: select
+            values: default,performance,powersave,powersupersave
+          - id: PCIE_ASPM_ON_BAT
+            type: select
+            values: default,performance,powersave,powersupersave
+      - group: RUNTIME_PM
+        ids:
+          - id: RUNTIME_PM_ON_AC
+            type: bselect
+            values: on,auto
+          - id: RUNTIME_PM_ON_BAT
+            type: bselect
+            values: on,auto
+      - id: RUNTIME_PM_DENYLIST
+        type: pcilist
+        values: ''
+      - id: RUNTIME_PM_DRIVER_DENYLIST
+        type: entry
+        values: ''
+      - group: RUNTIME_PM_DEVICE
+        ids:
+          - id: RUNTIME_PM_ENABLE
+            type: entry
+            values: ''
+          - id: RUNTIME_PM_DISABLE
+            type: entry
+            values: ''
+  - name: Processor
+    configs:
+      - group: CPU_DRIVER_OPMODE
+        ids:
+          - id: CPU_DRIVER_OPMODE_ON_AC
+            type: select
+            values: active,passive,guided
+          - id: CPU_DRIVER_OPMODE_ON_BAT
+            type: select
+            values: active,passive,guided
+      - group: CPU_SCALING_GOVERNOR
+        ids:
+          - id: CPU_SCALING_GOVERNOR_ON_AC
+            type: select
+            values: ondemand,powersave,performance,conservative,schedutil
+          - id: CPU_SCALING_GOVERNOR_ON_BAT
+            type: select
+            values: ondemand,powersave,performance,conservative,schedutil
+      - group: CPU_SCALING_FREQ
+        ids:
+          - id: CPU_SCALING_MIN_FREQ_ON_AC
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MAX_FREQ_ON_AC
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MIN_FREQ_ON_BAT
+            type: entry
+            values: ''
+          - id: CPU_SCALING_MAX_FREQ_ON_BAT
+            type: entry
+            values: ''
+      - group: CPU_ENERGY_PERF_POLICY
+        ids:
+          - id: CPU_ENERGY_PERF_POLICY_ON_AC
+            type: select
+            values: default,performance,balance_performance,balance_power,power
+          - id: CPU_ENERGY_PERF_POLICY_ON_BAT
+            type: select
+            values: default,performance,balance_performance,balance_power,power
+      - group: CPU_PERF
+        ids:
+          - id: CPU_MIN_PERF_ON_AC
+            type: numeric
+            values: 0-100
+          - id: CPU_MAX_PERF_ON_AC
+            type: numeric
+            values: 0-100
+          - id: CPU_MIN_PERF_ON_BAT
+            type: numeric
+            values: 0-100
+          - id: CPU_MAX_PERF_ON_BAT
+            type: numeric
+            values: 0-100
+      - group: CPU_BOOST
+        ids:
+          - id: CPU_BOOST_ON_AC
+            type: bselect
+            values: 0,1
+          - id: CPU_BOOST_ON_BAT
+            type: bselect
+            values: 0,1
+      - group: CPU_HWP_DYN_BOOST
+        ids:
+          - id: CPU_HWP_DYN_BOOST_ON_AC
+            type: bselect
+            values: 0,1
+          - id: CPU_HWP_DYN_BOOST_ON_BAT
+            type: bselect
+            values: 0,1
+      - id: NMI_WATCHDOG
+        type: bselect
+        values: 0,1
+      - group: PLATFORM_PROFILE
+        ids:
+          - id: PLATFORM_PROFILE_ON_AC
+            type: select
+            values: performance,balanced,low-power
+          - id: PLATFORM_PROFILE_ON_BAT
+            type: select
+            values: performance,balanced,low-power
+      - group: MEM_SLEEP
+        ids:
+          - id: MEM_SLEEP_ON_AC
+            type: select
+            values: s2idle,deep
+          - id: MEM_SLEEP_ON_BAT
+            type: select
+            values: s2idle,deep
+  - name: Radio
+    configs:
+      - id: RESTORE_DEVICE_STATE_ON_STARTUP
+        type: bselect
+        values: 0,1
+      - id: DEVICES_TO_DISABLE_ON_STARTUP
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_STARTUP
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_ENABLE_ON_AC
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_BAT
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+      - id: DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE
+        type: check
+        values: bluetooth,nfc,wifi,wwan
+  - name: Radio Device Wizard
+    configs:
+      - group: DEVICES_TO_DISABLE_ON_CONNECT
+        ids:
+          - id: DEVICES_TO_DISABLE_ON_LAN_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_WIFI_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_WWAN_CONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_TO_ENABLE_ON_DISCONNECT
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_LAN_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_ON_DOCK
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_DOCK
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_DOCK
+            type: check
+            values: bluetooth,wifi,wwan
+      - group: DEVICES_ON_UNDOCK
+        ids:
+          - id: DEVICES_TO_ENABLE_ON_UNDOCK
+            type: check
+            values: bluetooth,wifi,wwan
+          - id: DEVICES_TO_DISABLE_ON_UNDOCK
+            type: check
+            values: bluetooth,wifi,wwan
+  - name: USB
+    configs:
+      - id: USB_AUTOSUSPEND
+        type: bselect
+        values: 0,1
+      - id: USB_DENYLIST
+        type: usblist
+        values: ''
+      - id: USB_EXCLUDE_AUDIO
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_BTUSB
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_PHONE
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_PRINTER
+        type: bselect
+        values: 0,1
+      - id: USB_EXCLUDE_WWAN
+        type: bselect
+        values: 0,1
+      - id: USB_ALLOWLIST
+        type: usblist
+        values: ''
+  - name: ThinkPad Battery
+    configs:
+      - group: CHARGE_THRESH_BAT0
+        ids:
+          - id: START_CHARGE_THRESH_BAT0
+            type: numeric
+            values: 0-96
+          - id: STOP_CHARGE_THRESH_BAT0
+            type: numeric
+            values: 5-100
+      - group: CHARGE_THRESH_BAT1
+        ids:
+          - id: START_CHARGE_THRESH_BAT1
+            type: numeric
+            values: 0-96
+          - id: STOP_CHARGE_THRESH_BAT1
+            type: numeric
+            values: 5-100
+      - id: RESTORE_THRESHOLDS_ON_BAT
+        type: bselect
+        values: 0,1
+      - id: NATACPI_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TPACPI_ENABLE
+        type: bselect
+        values: 0,1
+      - id: TPSMAPI_ENABLE
+        type: bselect
+        values: 0,1
diff --git a/tlpui/configui.py b/tlpui/configui.py
index c93c698..d1245f6 100644
--- a/tlpui/configui.py
+++ b/tlpui/configui.py
@@ -9,7 +9,7 @@
 from . import language
 from .ui_config_objects import gtkswitch, gtkentry, gtkselection, gtkmultiselection, gtkcheckbutton, gtkspinbutton, \
     gtktoggle, gtkusblist, gtkpcilist, gtkdisklist, gtkdisklistview
-from .file import ConfType, TlpConfig, get_json_schema_object
+from .file import ConfType, TlpConfig, get_yaml_schema_object
 from .uihelper import get_theme_image, StateImage, EXPECTED_ITEM_MISSING_TEXT
 
 
@@ -217,7 +217,7 @@ def get_tlp_categories(window) -> OrderedDict:
     """Get categories from TLP schema."""
     propertyobjects = OrderedDict()
 
-    categories = get_json_schema_object('categories')
+    categories = get_yaml_schema_object('categories')
     for category in categories:
         categoryname = category['name']
 
@@ -235,7 +235,7 @@ def get_tlp_categories(window) -> OrderedDict:
         configs = category['configs']
         for config in configs:
             grouptitle = ""
-            configobjects = list()
+            configobjects = []
 
             if 'group' in config:
                 grouptitle = config['group']
diff --git a/tlpui/css.py b/tlpui/css.py
index 72c6b68..e2a455c 100644
--- a/tlpui/css.py
+++ b/tlpui/css.py
@@ -6,9 +6,8 @@
 
 def get_css_provider() -> Gtk.CssProvider:
     """Create css provider from stylesheet file and return it."""
-    cssfile = open(settings.workdir + '/styles.css', 'rb')
-    cssdata = cssfile.read()
-    cssfile.close()
+    with open(f'{settings.workdir}/styles.css', encoding='utf-8') as cssfile:
+        cssdata = cssfile.read()
 
     cssprovider = Gtk.CssProvider()
     cssprovider.load_from_data(cssdata)
diff --git a/tlpui/defaults/tlp-0_8.conf b/tlpui/defaults/tlp-0_8.conf
deleted file mode 100644
index 30031a1..0000000
--- a/tlpui/defaults/tlp-0_8.conf
+++ /dev/null
@@ -1,259 +0,0 @@
-# ------------------------------------------------------------------------------
-# tlp - Parameters for power save
-# See full explanation: http://linrunner.de/en/tlp/docs/tlp-configuration.html
-
-# Hint: some features are disabled by default, remove the leading # to enable
-# them.
-
-# Set to 0 to disable, 1 to enable TLP.
-TLP_ENABLE=1
-
-# Operation mode when no power supply can be detected: AC, BAT
-# Concerns some desktop and embedded hardware only.
-TLP_DEFAULT_MODE=AC
-
-# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
-# Non-zero value enables, zero disables laptop mode.
-DISK_IDLE_SECS_ON_AC=0
-DISK_IDLE_SECS_ON_BAT=2
-
-# Dirty page values (timeouts in secs).
-MAX_LOST_WORK_SECS_ON_AC=15
-MAX_LOST_WORK_SECS_ON_BAT=60
-
-# Hint: CPU parameters below are disabled by default, remove the leading #
-# to enable them, otherwise kernel default values are used.
-
-# Select a CPU frequency scaling governor:
-#   ondemand, powersave, performance, conservative
-# Intel Core i processor with intel_pstate driver:
-#   powersave, performance
-# Important:
-#   You *must* disable your distribution's governor settings or conflicts will
-#   occur. ondemand is sufficient for *almost all* workloads, you should know
-#   what you're doing!
-#CPU_SCALING_GOVERNOR_ON_AC=ondemand
-#CPU_SCALING_GOVERNOR_ON_BAT=ondemand
-
-# Set the min/max frequency available for the scaling governor.
-# Possible values strongly depend on your CPU. For available frequencies see
-# tlp-stat output, Section "+++ Processor".
-#CPU_SCALING_MIN_FREQ_ON_AC=0
-#CPU_SCALING_MAX_FREQ_ON_AC=0
-#CPU_SCALING_MIN_FREQ_ON_BAT=0
-#CPU_SCALING_MAX_FREQ_ON_BAT=0
-
-# Set Intel P-state performance: 0..100 (%)
-# Limit the max/min P-state to control the power dissipation of the CPU.
-# Values are stated as a percentage of the available performance.
-# Requires an Intel Core i processor with intel_pstate driver.
-#CPU_MIN_PERF_ON_AC=0
-#CPU_MAX_PERF_ON_AC=100
-#CPU_MIN_PERF_ON_BAT=0
-#CPU_MAX_PERF_ON_BAT=30
-
-# Set the CPU "turbo boost" feature: 0=disable, 1=allow
-# Requires an Intel Core i processor.
-# Important:
-# - This may conflict with your distribution's governor settings
-# - A value of 1 does *not* activate boosting, it just allows it
-#CPU_BOOST_ON_AC=1
-#CPU_BOOST_ON_BAT=0
-
-# Minimize number of used CPU cores/hyper-threads under light load conditions
-SCHED_POWERSAVE_ON_AC=0
-SCHED_POWERSAVE_ON_BAT=1
-
-# Kernel NMI Watchdog:
-#   0=disable (default, saves power), 1=enable (for kernel debugging only)
-NMI_WATCHDOG=0
-
-# Change CPU voltages aka "undervolting" - Kernel with PHC patch required
-# Frequency voltage pairs are written to:
-#   /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
-# CAUTION: only use this, if you thoroughly understand what you are doing!
-#PHC_CONTROLS="F:V F:V F:V F:V"
-
-# Set CPU performance versus energy savings policy:
-#   performance, normal, powersave
-# Requires kernel module msr and x86_energy_perf_policy from linux-tools
-ENERGY_PERF_POLICY_ON_AC=performance
-ENERGY_PERF_POLICY_ON_BAT=powersave
-
-# Hard disk devices; separate multiple devices with spaces (default: sda).
-# Devices can be specified by disk ID also (lookup with: tlp diskid).
-DISK_DEVICES="sda sdb"
-
-# Hard disk advanced power management level: 1..254, 255 (max saving, min, off)
-# Levels 1..127 may spin down the disk; 255 allowable on most drives.
-# Separate values for multiple devices with spaces.
-DISK_APM_LEVEL_ON_AC="254 254"
-DISK_APM_LEVEL_ON_BAT="128 128"
-
-# Hard disk spin down timeout:
-#   0:        spin down disabled
-#   1..240:   timeouts from 5s to 20min (in units of 5s)
-#   241..251: timeouts from 30min to 5.5 hours (in units of 30min)
-# See 'man hdparm' for details.
-#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
-#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"
-
-# Select IO scheduler for the disk devices: noop, deadline, cfq (Default: cfq);
-# Separate values for multiple devices with spaces.
-#DISK_IOSCHED="cfq cfq"
-
-# SATA aggressive link power management (ALPM):
-#   min_power, medium_power, max_performance
-SATA_LINKPWR_ON_AC=max_performance
-SATA_LINKPWR_ON_BAT=min_power
-
-# PCI Express Active State Power Management (PCIe ASPM):
-#   default, performance, powersave
-PCIE_ASPM_ON_AC=performance
-PCIE_ASPM_ON_BAT=powersave
-
-# Radeon graphics clock speed (profile method): low, mid, high, auto, default;
-# auto = mid on BAT, high on AC; default = use hardware defaults.
-# (Kernel >= 2.6.35 only, open-source radeon driver explicitly)
-RADEON_POWER_PROFILE_ON_AC=high
-RADEON_POWER_PROFILE_ON_BAT=low
-
-# Radeon dynamic power management method (DPM): battery, performance
-# (Kernel >= 3.11 only, requires boot option radeon.dpm=1)
-RADEON_DPM_STATE_ON_AC=performance
-RADEON_DPM_STATE_ON_BAT=battery
-
-# Radeon DPM performance level: auto, low, high; auto is recommended.
-RADEON_DPM_PERF_LEVEL_ON_AC=auto
-RADEON_DPM_PERF_LEVEL_ON_BAT=auto
-
-# WiFi power saving mode: 1=disable, 5=enable; not supported by all adapters.
-WIFI_PWR_ON_AC=1
-WIFI_PWR_ON_BAT=5
-
-# Disable wake on LAN: Y/N
-WOL_DISABLE=Y
-
-# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
-# A value of 0 disables, >=1 enables power save.
-SOUND_POWER_SAVE_ON_AC=0
-SOUND_POWER_SAVE_ON_BAT=1
-
-# Disable controller too (HDA only): Y/N
-SOUND_POWER_SAVE_CONTROLLER=Y
-
-# Set to 1 to power off optical drive in UltraBay/MediaBay when running on
-# battery. A value of 0 disables this feature (Default).
-# Drive can be powered on again by releasing (and reinserting) the eject lever
-# or by pressing the disc eject button on newer models.
-# Note: an UltraBay/MediaBay hard disk is never powered off.
-BAY_POWEROFF_ON_BAT=0
-# Optical drive device to power off (default sr0).
-BAY_DEVICE="sr0"
-
-# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable
-RUNTIME_PM_ON_AC=on
-RUNTIME_PM_ON_BAT=auto
-
-# Runtime PM for *all* PCI(e) bus devices, except blacklisted ones:
-#   0=disable, 1=enable
-RUNTIME_PM_ALL=1
-
-# Exclude PCI(e) device adresses the following list from Runtime PM
-# (separate with spaces). Use lspci to get the adresses (1st column).
-#RUNTIME_PM_BLACKLIST="bb:dd.f 11:22.3 44:55.6"
-
-# Exclude PCI(e) devices assigned to the listed drivers from Runtime PM
-# (should prevent accidential power on of hybrid graphics' discrete part).
-# Default is "radeon nouveau"; use "" to disable the feature completely.
-# Separate multiple drivers with spaces.
-RUNTIME_PM_DRIVER_BLACKLIST="radeon nouveau"
-
-# Set to 0 to disable, 1 to enable USB autosuspend feature.
-USB_AUTOSUSPEND=1
-
-# Exclude listed devices from USB autosuspend (separate with spaces).
-# Use lsusb to get the ids.
-# Note: input devices (usbhid) are excluded automatically (see below)
-#USB_BLACKLIST="1111:2222 3333:4444"
-
-# WWAN devices are excluded from USB autosuspend:
-# 0=do not exclude / 1=exclude
-USB_BLACKLIST_WWAN=1
-
-# Include listed devices into USB autosuspend even if already excluded
-# by the driver or WWAN blacklists above (separate with spaces).
-# Use lsusb to get the ids.
-#USB_WHITELIST="1111:2222 3333:4444"
-
-# Set to 1 to disable autosuspend before shutdown, 0 to do nothing
-# (workaround for USB devices that cause shutdown problems).
-#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1
-
-# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
-# on system startup: 0=disable, 1=enable.
-# Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
-#   are ignored when this is enabled!
-RESTORE_DEVICE_STATE_ON_STARTUP=0
-
-# Radio devices to disable on startup: bluetooth, wifi, wwan.
-# Separate multiple devices with spaces.
-#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
-
-# Radio devices to enable on startup: bluetooth, wifi, wwan.
-# Separate multiple devices with spaces.
-#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
-
-# Radio devices to disable on shutdown: bluetooth, wifi, wwan
-# (workaround for devices that are blocking shutdown).
-#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"
-
-# Radio devices to enable on shutdown: bluetooth, wifi, wwan
-# (to prevent other operating systems from missing radios).
-#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"
-
-# Radio devices to enable on AC: bluetooth, wifi, wwan
-#DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
-
-# Radio devices to disable on battery: bluetooth, wifi, wwan
-#DEVICES_TO_DISABLE_ON_BAT="bluetooth wifi wwan"
-
-# Radio devices to disable on battery when not in use (not connected):
-# bluetooth, wifi, wwan
-#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan"
-
-# Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module
-# required). Charging starts when the remaining capacity falls below the
-# START_CHARGE_TRESH value and stops when exceeding the STOP_CHARGE_TRESH value.
-# Main / Internal battery (values in %)
-#START_CHARGE_THRESH_BAT0=75
-#STOP_CHARGE_THRESH_BAT0=80
-# Ultrabay / Slice / Replaceable battery (values in %)
-#START_CHARGE_THRESH_BAT1=75
-#STOP_CHARGE_THRESH_BAT1=80
-
-# ------------------------------------------------------------------------------
-# tlp-rdw - Parameters for the radio device wizard
-# Possible devices: bluetooth, wifi, wwan
-
-# Hints:
-# - Parameters are disabled by default, remove the leading # to enable them.
-# - Separate multiple radio devices with spaces.
-
-# Radio devices to disable on connect.
-#DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
-#DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
-#DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"
-
-# Radio devices to enable on disconnect.
-#DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
-#DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
-#DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
-
-# Radio devices to enable/disable when docked.
-#DEVICES_TO_ENABLE_ON_DOCK=""
-#DEVICES_TO_DISABLE_ON_DOCK=""
-
-# Radio devices to enable/disable when undocked.
-#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
-#DEVICES_TO_DISABLE_ON_UNDOCK=""
diff --git a/tlpui/defaults/tlp-0_9.conf b/tlpui/defaults/tlp-0_9.conf
deleted file mode 100644
index 4b90283..0000000
--- a/tlpui/defaults/tlp-0_9.conf
+++ /dev/null
@@ -1,278 +0,0 @@
-# ------------------------------------------------------------------------------
-# tlp - Parameters for power save
-# See full explanation: http://linrunner.de/en/tlp/docs/tlp-configuration.html
-
-# Hint: some features are disabled by default, remove the leading # to enable
-# them.
-
-# Set to 0 to disable, 1 to enable TLP.
-TLP_ENABLE=1
-
-# Operation mode when no power supply can be detected: AC, BAT
-# Concerns some desktop and embedded hardware only.
-TLP_DEFAULT_MODE=AC
-
-# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
-# Non-zero value enables, zero disables laptop mode.
-DISK_IDLE_SECS_ON_AC=0
-DISK_IDLE_SECS_ON_BAT=2
-
-# Dirty page values (timeouts in secs).
-MAX_LOST_WORK_SECS_ON_AC=15
-MAX_LOST_WORK_SECS_ON_BAT=60
-
-# Hint: CPU parameters below are disabled by default, remove the leading #
-# to enable them, otherwise kernel default values are used.
-
-# Select a CPU frequency scaling governor.
-# Intel Core i processor with intel_pstate driver:
-#   powersave(*), performance
-# Older hardware with acpi-cpufreq driver:
-#   ondemand(*), powersave, performance, conservative
-# (*) is recommended.
-# Hint: use tlp-stat -p to show the active driver and available governors.
-# Important:
-#   You *must* disable your distribution's governor settings or conflicts will
-#   occur. ondemand is sufficient for *almost all* workloads, you should know
-#   what you're doing!
-#CPU_SCALING_GOVERNOR_ON_AC=powersave
-#CPU_SCALING_GOVERNOR_ON_BAT=powersave
-
-# Set the min/max frequency available for the scaling governor.
-# Possible values strongly depend on your CPU. For available frequencies see
-# the output of tlp-stat -p.
-#CPU_SCALING_MIN_FREQ_ON_AC=0
-#CPU_SCALING_MAX_FREQ_ON_AC=0
-#CPU_SCALING_MIN_FREQ_ON_BAT=0
-#CPU_SCALING_MAX_FREQ_ON_BAT=0
-
-# Set Intel P-state performance: 0..100 (%)
-# Limit the max/min P-state to control the power dissipation of the CPU.
-# Values are stated as a percentage of the available performance.
-# Requires an Intel Core i processor with intel_pstate driver.
-#CPU_MIN_PERF_ON_AC=0
-#CPU_MAX_PERF_ON_AC=100
-#CPU_MIN_PERF_ON_BAT=0
-#CPU_MAX_PERF_ON_BAT=30
-
-# Set the CPU "turbo boost" feature: 0=disable, 1=allow
-# Requires an Intel Core i processor.
-# Important:
-# - This may conflict with your distribution's governor settings
-# - A value of 1 does *not* activate boosting, it just allows it
-#CPU_BOOST_ON_AC=1
-#CPU_BOOST_ON_BAT=0
-
-# Minimize number of used CPU cores/hyper-threads under light load conditions
-SCHED_POWERSAVE_ON_AC=0
-SCHED_POWERSAVE_ON_BAT=1
-
-# Kernel NMI Watchdog:
-#   0=disable (default, saves power), 1=enable (for kernel debugging only)
-NMI_WATCHDOG=0
-
-# Change CPU voltages aka "undervolting" - Kernel with PHC patch required
-# Frequency voltage pairs are written to:
-#   /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
-# CAUTION: only use this, if you thoroughly understand what you are doing!
-#PHC_CONTROLS="F:V F:V F:V F:V"
-
-# Set CPU performance versus energy savings policy:
-#   performance, normal, powersave
-# Requires kernel module msr and x86_energy_perf_policy from linux-tools
-ENERGY_PERF_POLICY_ON_AC=performance
-ENERGY_PERF_POLICY_ON_BAT=powersave
-
-# Hard disk devices; separate multiple devices with spaces (default: sda).
-# Devices can be specified by disk ID also (lookup with: tlp diskid).
-DISK_DEVICES="sda sdb"
-
-# Hard disk advanced power management level: 1..254, 255 (max saving, min, off)
-# Levels 1..127 may spin down the disk; 255 allowable on most drives.
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the hardware default for the particular disk.
-DISK_APM_LEVEL_ON_AC="254 254"
-DISK_APM_LEVEL_ON_BAT="128 128"
-
-# Hard disk spin down timeout:
-#   0:        spin down disabled
-#   1..240:   timeouts from 5s to 20min (in units of 5s)
-#   241..251: timeouts from 30min to 5.5 hours (in units of 30min)
-# See 'man hdparm' for details.
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the hardware default for the particular disk.
-#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
-#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"
-
-# Select IO scheduler for the disk devices: cfq, deadline, noop (Default: cfq);
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the kernel default scheduler for the particular disk.
-#DISK_IOSCHED="cfq cfq"
-
-# SATA aggressive link power management (ALPM):
-#   min_power, medium_power, max_performance
-SATA_LINKPWR_ON_AC=max_performance
-SATA_LINKPWR_ON_BAT=min_power
-
-# Exclude SATA host devices from link power management.
-# Separate multiple hosts with spaces.
-#SATA_LINKPWR_BLACKLIST="host1"
-
-# Runtime Power Management for AHCI controllers and disks:
-#   on=disable, auto=enable
-# EXPERIMENTAL ** WARNING: auto will most likely cause system lockups/data loss
-#AHCI_RUNTIME_PM_ON_AC=on
-#AHCI_RUNTIME_PM_ON_BAT=on
-
-# Seconds of inactivity before disk is suspended
-AHCI_RUNTIME_PM_TIMEOUT=15
-
-# PCI Express Active State Power Management (PCIe ASPM):
-#   default, performance, powersave
-PCIE_ASPM_ON_AC=performance
-PCIE_ASPM_ON_BAT=powersave
-
-# Radeon graphics clock speed (profile method): low, mid, high, auto, default;
-# auto = mid on BAT, high on AC; default = use hardware defaults.
-# (Kernel >= 2.6.35 only, open-source radeon driver explicitly)
-RADEON_POWER_PROFILE_ON_AC=high
-RADEON_POWER_PROFILE_ON_BAT=low
-
-# Radeon dynamic power management method (DPM): battery, performance
-# (Kernel >= 3.11 only, requires boot option radeon.dpm=1)
-RADEON_DPM_STATE_ON_AC=performance
-RADEON_DPM_STATE_ON_BAT=battery
-
-# Radeon DPM performance level: auto, low, high; auto is recommended.
-RADEON_DPM_PERF_LEVEL_ON_AC=auto
-RADEON_DPM_PERF_LEVEL_ON_BAT=auto
-
-# WiFi power saving mode: on=enable, off=disable; not supported by all adapters.
-WIFI_PWR_ON_AC=off
-WIFI_PWR_ON_BAT=on
-
-# Disable wake on LAN: Y/N
-WOL_DISABLE=Y
-
-# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
-# A value of 0 disables, >=1 enables power save.
-SOUND_POWER_SAVE_ON_AC=0
-SOUND_POWER_SAVE_ON_BAT=1
-
-# Disable controller too (HDA only): Y/N
-SOUND_POWER_SAVE_CONTROLLER=Y
-
-# Set to 1 to power off optical drive in UltraBay/MediaBay when running on
-# battery. A value of 0 disables this feature (Default).
-# Drive can be powered on again by releasing (and reinserting) the eject lever
-# or by pressing the disc eject button on newer models.
-# Note: an UltraBay/MediaBay hard disk is never powered off.
-BAY_POWEROFF_ON_BAT=0
-# Optical drive device to power off (default sr0).
-BAY_DEVICE="sr0"
-
-# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable
-RUNTIME_PM_ON_AC=on
-RUNTIME_PM_ON_BAT=auto
-
-# Runtime PM for *all* PCI(e) bus devices, except blacklisted ones:
-#   0=disable, 1=enable
-RUNTIME_PM_ALL=1
-
-# Exclude PCI(e) device adresses the following list from Runtime PM
-# (separate with spaces). Use lspci to get the adresses (1st column).
-#RUNTIME_PM_BLACKLIST="bb:dd.f 11:22.3 44:55.6"
-
-# Exclude PCI(e) devices assigned to the listed drivers from Runtime PM
-# (should prevent accidential power on of hybrid graphics' discrete part).
-# Default is "radeon nouveau"; use "" to disable the feature completely.
-# Separate multiple drivers with spaces.
-RUNTIME_PM_DRIVER_BLACKLIST="radeon nouveau"
-
-# Set to 0 to disable, 1 to enable USB autosuspend feature.
-USB_AUTOSUSPEND=1
-
-# Exclude listed devices from USB autosuspend (separate with spaces).
-# Use lsusb to get the ids.
-# Note: input devices (usbhid) are excluded automatically (see below)
-#USB_BLACKLIST="1111:2222 3333:4444"
-
-# WWAN devices are excluded from USB autosuspend: 0=do not exclude / 1=exclude
-USB_BLACKLIST_WWAN=1
-
-# Include listed devices into USB autosuspend even if already excluded
-# by the driver or WWAN blacklists above (separate with spaces).
-# Use lsusb to get the ids.
-#USB_WHITELIST="1111:2222 3333:4444"
-
-# Set to 1 to disable autosuspend before shutdown, 0 to do nothing
-# (workaround for USB devices that cause shutdown problems).
-#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1
-
-# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
-# on system startup: 0=disable, 1=enable.
-# Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
-#   are ignored when this is enabled!
-RESTORE_DEVICE_STATE_ON_STARTUP=0
-
-# Radio devices to disable on startup: bluetooth, wifi, wwan.
-# Separate multiple devices with spaces.
-#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
-
-# Radio devices to enable on startup: bluetooth, wifi, wwan.
-# Separate multiple devices with spaces.
-#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
-
-# Radio devices to disable on shutdown: bluetooth, wifi, wwan
-# (workaround for devices that are blocking shutdown).
-#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"
-
-# Radio devices to enable on shutdown: bluetooth, wifi, wwan
-# (to prevent other operating systems from missing radios).
-#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"
-
-# Radio devices to enable on AC: bluetooth, wifi, wwan
-#DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
-
-# Radio devices to disable on battery: bluetooth, wifi, wwan
-#DEVICES_TO_DISABLE_ON_BAT="bluetooth wifi wwan"
-
-# Radio devices to disable on battery when not in use (not connected):
-# bluetooth, wifi, wwan
-#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan"
-
-# Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module
-# required). Charging starts when the remaining capacity falls below the
-# START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH value.
-# Main / Internal battery (values in %)
-#START_CHARGE_THRESH_BAT0=75
-#STOP_CHARGE_THRESH_BAT0=80
-# Ultrabay / Slice / Replaceable battery (values in %)
-#START_CHARGE_THRESH_BAT1=75
-#STOP_CHARGE_THRESH_BAT1=80
-
-# ------------------------------------------------------------------------------
-# tlp-rdw - Parameters for the radio device wizard
-# Possible devices: bluetooth, wifi, wwan
-
-# Hints:
-# - Parameters are disabled by default, remove the leading # to enable them.
-# - Separate multiple radio devices with spaces.
-
-# Radio devices to disable on connect.
-#DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
-#DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
-#DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"
-
-# Radio devices to enable on disconnect.
-#DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
-#DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
-#DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
-
-# Radio devices to enable/disable when docked.
-#DEVICES_TO_ENABLE_ON_DOCK=""
-#DEVICES_TO_DISABLE_ON_DOCK=""
-
-# Radio devices to enable/disable when undocked.
-#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
-#DEVICES_TO_DISABLE_ON_UNDOCK=""
diff --git a/tlpui/defaults/tlp-1_0.conf b/tlpui/defaults/tlp-1_0.conf
deleted file mode 100644
index 3d734a7..0000000
--- a/tlpui/defaults/tlp-1_0.conf
+++ /dev/null
@@ -1,298 +0,0 @@
-# ------------------------------------------------------------------------------
-# tlp - Parameters for power saving
-# See full explanation: http://linrunner.de/en/tlp/docs/tlp-configuration.html
-
-# Hint: some features are disabled by default, remove the leading # to enable
-# them.
-
-# Set to 0 to disable, 1 to enable TLP.
-TLP_ENABLE=1
-
-# Operation mode when no power supply can be detected: AC, BAT
-# Concerns some desktop and embedded hardware only.
-TLP_DEFAULT_MODE=AC
-
-# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
-# Hint: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC
-TLP_PERSISTENT_DEFAULT=0
-
-# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
-# Non-zero value enables, zero disables laptop mode.
-DISK_IDLE_SECS_ON_AC=0
-DISK_IDLE_SECS_ON_BAT=2
-
-# Dirty page values (timeouts in secs).
-MAX_LOST_WORK_SECS_ON_AC=15
-MAX_LOST_WORK_SECS_ON_BAT=60
-
-# Hint: CPU parameters below are disabled by default, remove the leading #
-# to enable them, otherwise kernel default values are used.
-
-# Select a CPU frequency scaling governor.
-# Intel Core i processor with intel_pstate driver:
-#   powersave(*), performance
-# Older hardware with acpi-cpufreq driver:
-#   ondemand(*), powersave, performance, conservative, schedutil
-# (*) is recommended.
-# Hint: use tlp-stat -p to show the active driver and available governors.
-# Important:
-#   You *must* disable your distribution's governor settings or conflicts will
-#   occur. ondemand is sufficient for *almost all* workloads, you should know
-#   what you're doing!
-#CPU_SCALING_GOVERNOR_ON_AC=powersave
-#CPU_SCALING_GOVERNOR_ON_BAT=powersave
-
-# Set the min/max frequency available for the scaling governor.
-# Possible values strongly depend on your CPU. For available frequencies see
-# the output of tlp-stat -p.
-#CPU_SCALING_MIN_FREQ_ON_AC=0
-#CPU_SCALING_MAX_FREQ_ON_AC=0
-#CPU_SCALING_MIN_FREQ_ON_BAT=0
-#CPU_SCALING_MAX_FREQ_ON_BAT=0
-
-# Set energy performance hints (HWP) for Intel P-state governor:
-#   default, performance, balance_performance, balance_power, power
-# Values are given in order of increasing power saving.
-# Note: Intel Skylake or newer CPU and Kernel >= 4.10 required.
-CPU_HWP_ON_AC=balance_performance
-CPU_HWP_ON_BAT=balance_power
-
-# Set Intel P-state performance: 0..100 (%)
-# Limit the max/min P-state to control the power dissipation of the CPU.
-# Values are stated as a percentage of the available performance.
-# Requires an Intel Core i processor with intel_pstate driver.
-#CPU_MIN_PERF_ON_AC=0
-#CPU_MAX_PERF_ON_AC=100
-#CPU_MIN_PERF_ON_BAT=0
-#CPU_MAX_PERF_ON_BAT=30
-
-# Set the CPU "turbo boost" feature: 0=disable, 1=allow
-# Requires an Intel Core i processor.
-# Important:
-# - This may conflict with your distribution's governor settings
-# - A value of 1 does *not* activate boosting, it just allows it
-#CPU_BOOST_ON_AC=1
-#CPU_BOOST_ON_BAT=0
-
-# Minimize number of used CPU cores/hyper-threads under light load conditions
-SCHED_POWERSAVE_ON_AC=0
-SCHED_POWERSAVE_ON_BAT=1
-
-# Kernel NMI Watchdog:
-#   0=disable (default, saves power), 1=enable (for kernel debugging only)
-NMI_WATCHDOG=0
-
-# Change CPU voltages aka "undervolting" - Kernel with PHC patch required
-# Frequency voltage pairs are written to:
-#   /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
-# CAUTION: only use this, if you thoroughly understand what you are doing!
-#PHC_CONTROLS="F:V F:V F:V F:V"
-
-# Set CPU performance versus energy savings policy:
-#   performance, normal, powersave
-# Requires kernel module msr and x86_energy_perf_policy from linux-tools
-ENERGY_PERF_POLICY_ON_AC=performance
-ENERGY_PERF_POLICY_ON_BAT=powersave
-
-# Hard disk devices; separate multiple devices with spaces (default: sda).
-# Devices can be specified by disk ID also (lookup with: tlp diskid).
-DISK_DEVICES="sda sdb"
-
-# Hard disk advanced power management level: 1..254, 255 (max saving, min, off)
-# Levels 1..127 may spin down the disk; 255 allowable on most drives.
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the hardware default for the particular disk.
-DISK_APM_LEVEL_ON_AC="254 254"
-DISK_APM_LEVEL_ON_BAT="128 128"
-
-# Hard disk spin down timeout:
-#   0:        spin down disabled
-#   1..240:   timeouts from 5s to 20min (in units of 5s)
-#   241..251: timeouts from 30min to 5.5 hours (in units of 30min)
-# See 'man hdparm' for details.
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the hardware default for the particular disk.
-#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
-#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"
-
-# Select IO scheduler for the disk devices: cfq, deadline, noop (Default: cfq);
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the kernel default scheduler for the particular disk.
-#DISK_IOSCHED="cfq cfq"
-
-# SATA aggressive link power management (ALPM):
-#   min_power, medium_power, max_performance
-SATA_LINKPWR_ON_AC=max_performance
-SATA_LINKPWR_ON_BAT=min_power
-
-# Exclude SATA host devices from link power management.
-# Separate multiple hosts with spaces.
-#SATA_LINKPWR_BLACKLIST="host1"
-
-# Runtime Power Management for AHCI controllers and disks:
-#   on=disable, auto=enable
-# EXPERIMENTAL ** WARNING: auto will most likely cause system lockups/data loss
-#AHCI_RUNTIME_PM_ON_AC=on
-#AHCI_RUNTIME_PM_ON_BAT=on
-
-# Seconds of inactivity before disk is suspended
-AHCI_RUNTIME_PM_TIMEOUT=15
-
-# PCI Express Active State Power Management (PCIe ASPM):
-#   default, performance, powersave
-PCIE_ASPM_ON_AC=performance
-PCIE_ASPM_ON_BAT=powersave
-
-# Radeon graphics clock speed (profile method): low, mid, high, auto, default;
-# auto = mid on BAT, high on AC; default = use hardware defaults.
-# (Kernel >= 2.6.35 only, open-source radeon driver explicitly)
-RADEON_POWER_PROFILE_ON_AC=high
-RADEON_POWER_PROFILE_ON_BAT=low
-
-# Radeon dynamic power management method (DPM): battery, performance
-# (Kernel >= 3.11 only, requires boot option radeon.dpm=1)
-RADEON_DPM_STATE_ON_AC=performance
-RADEON_DPM_STATE_ON_BAT=battery
-
-# Radeon DPM performance level: auto, low, high; auto is recommended.
-RADEON_DPM_PERF_LEVEL_ON_AC=auto
-RADEON_DPM_PERF_LEVEL_ON_BAT=auto
-
-# WiFi power saving mode: on=enable, off=disable; not supported by all adapters.
-WIFI_PWR_ON_AC=off
-WIFI_PWR_ON_BAT=on
-
-# Disable wake on LAN: Y/N
-WOL_DISABLE=Y
-
-# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
-# A value of 0 disables, >=1 enables power saving.
-SOUND_POWER_SAVE_ON_AC=0
-SOUND_POWER_SAVE_ON_BAT=1
-
-# Disable controller too (HDA only): Y/N
-SOUND_POWER_SAVE_CONTROLLER=Y
-
-# Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable.
-# Drive can be powered on again by releasing (and reinserting) the eject lever
-# or by pressing the disc eject button on newer models.
-# Note: an UltraBay/MediaBay hard disk is never powered off.
-BAY_POWEROFF_ON_AC=0
-BAY_POWEROFF_ON_BAT=0
-# Optical drive device to power off (default sr0).
-BAY_DEVICE="sr0"
-
-# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable
-RUNTIME_PM_ON_AC=on
-RUNTIME_PM_ON_BAT=auto
-
-# Exclude PCI(e) device adresses the following list from Runtime PM
-# (separate with spaces). Use lspci to get the adresses (1st column).
-#RUNTIME_PM_BLACKLIST="bb:dd.f 11:22.3 44:55.6"
-
-# Exclude PCI(e) devices assigned to the listed drivers from Runtime PM.
-# Default when unconfigured is "amdgpu nouveau nvidia radeon" which
-# prevents accidential power-on of dGPU in hybrid graphics setups.
-# Use "" to disable the feature completely.
-# Separate multiple drivers with spaces.
-#RUNTIME_PM_DRIVER_BLACKLIST="amdgpu nouveau nvidia radeon"
-
-# Set to 0 to disable, 1 to enable USB autosuspend feature.
-USB_AUTOSUSPEND=1
-
-# Exclude listed devices from USB autosuspend (separate with spaces).
-# Use lsusb to get the ids.
-# Note: input devices (usbhid) are excluded automatically
-#USB_BLACKLIST="1111:2222 3333:4444"
-
-# Bluetooth devices are excluded from USB autosuspend:
-#   0=do not exclude, 1=exclude
-USB_BLACKLIST_BTUSB=0
-
-# Phone devices are excluded from USB autosuspend:
-#   0=do not exclude, 1=exclude (enable charging)
-USB_BLACKLIST_PHONE=0
-
-# WWAN devices are excluded from USB autosuspend:
-#   0=do not exclude, 1=exclude
-USB_BLACKLIST_WWAN=1
-
-# Include listed devices into USB autosuspend even if already excluded
-# by the blacklists above (separate with spaces).
-# Use lsusb to get the ids.
-#USB_WHITELIST="1111:2222 3333:4444"
-
-# Set to 1 to disable autosuspend before shutdown, 0 to do nothing
-# (workaround for USB devices that cause shutdown problems).
-#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1
-
-# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
-# on system startup: 0=disable, 1=enable.
-# Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
-#   are ignored when this is enabled!
-RESTORE_DEVICE_STATE_ON_STARTUP=0
-
-# Radio devices to disable on startup: bluetooth, wifi, wwan.
-# Separate multiple devices with spaces.
-#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
-
-# Radio devices to enable on startup: bluetooth, wifi, wwan.
-# Separate multiple devices with spaces.
-#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
-
-# Radio devices to disable on shutdown: bluetooth, wifi, wwan
-# (workaround for devices that are blocking shutdown).
-#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"
-
-# Radio devices to enable on shutdown: bluetooth, wifi, wwan
-# (to prevent other operating systems from missing radios).
-#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"
-
-# Radio devices to enable on AC: bluetooth, wifi, wwan
-#DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
-
-# Radio devices to disable on battery: bluetooth, wifi, wwan
-#DEVICES_TO_DISABLE_ON_BAT="bluetooth wifi wwan"
-
-# Radio devices to disable on battery when not in use (not connected):
-# bluetooth, wifi, wwan
-#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan"
-
-# Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module
-# required). Charging starts when the remaining capacity falls below the
-# START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH value.
-# Main / Internal battery (values in %)
-#START_CHARGE_THRESH_BAT0=75
-#STOP_CHARGE_THRESH_BAT0=80
-# Ultrabay / Slice / Replaceable battery (values in %)
-#START_CHARGE_THRESH_BAT1=75
-#STOP_CHARGE_THRESH_BAT1=80
-
-# Restore charge thresholds when AC is unplugged: 0=disable, 1=enable
-#RESTORE_THRESHOLDS_ON_BAT=1
-
-# ------------------------------------------------------------------------------
-# tlp-rdw - Parameters for the radio device wizard
-# Possible devices: bluetooth, wifi, wwan
-
-# Hints:
-# - Parameters are disabled by default, remove the leading # to enable them.
-# - Separate multiple radio devices with spaces.
-
-# Radio devices to disable on connect.
-#DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
-#DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
-#DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"
-
-# Radio devices to enable on disconnect.
-#DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
-#DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
-#DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
-
-# Radio devices to enable/disable when docked.
-#DEVICES_TO_ENABLE_ON_DOCK=""
-#DEVICES_TO_DISABLE_ON_DOCK=""
-
-# Radio devices to enable/disable when undocked.
-#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
-#DEVICES_TO_DISABLE_ON_UNDOCK=""
diff --git a/tlpui/defaults/tlp-1_1.conf b/tlpui/defaults/tlp-1_1.conf
deleted file mode 100644
index 828666f..0000000
--- a/tlpui/defaults/tlp-1_1.conf
+++ /dev/null
@@ -1,306 +0,0 @@
-# ------------------------------------------------------------------------------
-# tlp - Parameters for power saving
-# See full explanation: http://linrunner.de/en/tlp/docs/tlp-configuration.html
-
-# Hint: some features are disabled by default, remove the leading # to enable
-# them.
-
-# Set to 0 to disable, 1 to enable TLP.
-TLP_ENABLE=1
-
-# Operation mode when no power supply can be detected: AC, BAT.
-# Concerns some desktop and embedded hardware only.
-TLP_DEFAULT_MODE=AC
-
-# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
-# Hint: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
-TLP_PERSISTENT_DEFAULT=0
-
-# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
-# Non-zero value enables, zero disables laptop mode.
-DISK_IDLE_SECS_ON_AC=0
-DISK_IDLE_SECS_ON_BAT=2
-
-# Dirty page values (timeouts in secs).
-MAX_LOST_WORK_SECS_ON_AC=15
-MAX_LOST_WORK_SECS_ON_BAT=60
-
-# Hint: CPU parameters below are disabled by default, remove the leading #
-# to enable them, otherwise kernel default values are used.
-
-# Select a CPU frequency scaling governor.
-# Intel Core i processor with intel_pstate driver:
-#   powersave(*), performance.
-# Older hardware with acpi-cpufreq driver:
-#   ondemand(*), powersave, performance, conservative, schedutil.
-# (*) is recommended.
-# Hint: use tlp-stat -p to show the active driver and available governors.
-# Important:
-#   powersave for intel_pstate and ondemand for acpi-cpufreq are power
-#   efficient for *almost all* workloads and therefore kernel and most
-#   distributions have chosen them as defaults. If you still want to change,
-#   you should know what you're doing! You *must* disable your distribution's
-#   governor settings or conflicts will occur.
-#CPU_SCALING_GOVERNOR_ON_AC=powersave
-#CPU_SCALING_GOVERNOR_ON_BAT=powersave
-
-# Set the min/max frequency available for the scaling governor.
-# Possible values strongly depend on your CPU. For available frequencies see
-# the output of tlp-stat -p.
-#CPU_SCALING_MIN_FREQ_ON_AC=0
-#CPU_SCALING_MAX_FREQ_ON_AC=0
-#CPU_SCALING_MIN_FREQ_ON_BAT=0
-#CPU_SCALING_MAX_FREQ_ON_BAT=0
-
-# Set energy performance hints (HWP) for Intel P-state governor:
-#   performance, balance_performance, default, balance_power, power
-# Values are given in order of increasing power saving.
-# Note: Intel Skylake or newer CPU and Kernel >= 4.10 required.
-CPU_HWP_ON_AC=balance_performance
-CPU_HWP_ON_BAT=balance_power
-
-# Set Intel P-state performance: 0..100 (%).
-# Limit the max/min P-state to control the power dissipation of the CPU.
-# Values are stated as a percentage of the available performance.
-# Requires an Intel Core i processor with intel_pstate driver.
-#CPU_MIN_PERF_ON_AC=0
-#CPU_MAX_PERF_ON_AC=100
-#CPU_MIN_PERF_ON_BAT=0
-#CPU_MAX_PERF_ON_BAT=30
-
-# Set the CPU "turbo boost" feature: 0=disable, 1=allow
-# Requires an Intel Core i processor.
-# Important:
-# - This may conflict with your distribution's governor settings
-# - A value of 1 does *not* activate boosting, it just allows it
-#CPU_BOOST_ON_AC=1
-#CPU_BOOST_ON_BAT=0
-
-# Minimize number of used CPU cores/hyper-threads under light load conditions:
-#   0=disable, 1=enable.
-SCHED_POWERSAVE_ON_AC=0
-SCHED_POWERSAVE_ON_BAT=1
-
-# Kernel NMI Watchdog:
-#   0=disable (default, saves power), 1=enable (for kernel debugging only).
-NMI_WATCHDOG=0
-
-# Change CPU voltages aka "undervolting" - Kernel with PHC patch required.
-# Frequency voltage pairs are written to:
-#   /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
-# CAUTION: only use this, if you thoroughly understand what you are doing!
-#PHC_CONTROLS="F:V F:V F:V F:V"
-
-# Set CPU performance versus energy savings policy:
-#   performance, balance-performance, default, balance-power, power.
-# Values are given in order of increasing power saving.
-# Requires kernel module msr and x86_energy_perf_policy from linux-tools.
-ENERGY_PERF_POLICY_ON_AC=performance
-ENERGY_PERF_POLICY_ON_BAT=power
-
-# Disk devices; separate multiple devices with spaces (default: sda).
-# Devices can be specified by disk ID also (lookup with: tlp diskid).
-DISK_DEVICES="sda sdb"
-
-# Disk advanced power management level: 1..254, 255 (max saving, min, off).
-# Levels 1..127 may spin down the disk; 255 allowable on most drives.
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the hardware default for the particular disk.
-DISK_APM_LEVEL_ON_AC="254 254"
-DISK_APM_LEVEL_ON_BAT="128 128"
-
-# Hard disk spin down timeout:
-#   0:        spin down disabled
-#   1..240:   timeouts from 5s to 20min (in units of 5s)
-#   241..251: timeouts from 30min to 5.5 hours (in units of 30min)
-# See 'man hdparm' for details.
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the hardware default for the particular disk.
-#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
-#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"
-
-# Select IO scheduler for the disk devices: cfq, deadline, noop (Default: cfq).
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the kernel default scheduler for the particular disk.
-#DISK_IOSCHED="cfq cfq"
-
-# AHCI link power management (ALPM) for disk devices:
-#   min_power, med_power_with_dipm(*), medium_power, max_performance.
-# (*) Kernel >= 4.15 required, then recommended.
-# Multiple values separated with spaces are tried sequentially until success.
-SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
-SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
-
-# Exclude host devices from AHCI link power management.
-# Separate multiple hosts with spaces.
-#SATA_LINKPWR_BLACKLIST="host1"
-
-# Runtime Power Management for AHCI host and disks devices:
-#   on=disable, auto=enable.
-# EXPERIMENTAL ** WARNING: auto will most likely cause system lockups/data loss.
-#AHCI_RUNTIME_PM_ON_AC=on
-#AHCI_RUNTIME_PM_ON_BAT=on
-
-# Seconds of inactivity before disk is suspended.
-AHCI_RUNTIME_PM_TIMEOUT=15
-
-# PCI Express Active State Power Management (PCIe ASPM):
-#   default, performance, powersave.
-PCIE_ASPM_ON_AC=performance
-PCIE_ASPM_ON_BAT=powersave
-
-# Radeon graphics clock speed (profile method): low, mid, high, auto, default;
-# auto = mid on BAT, high on AC; default = use hardware defaults.
-RADEON_POWER_PROFILE_ON_AC=high
-RADEON_POWER_PROFILE_ON_BAT=low
-
-# Radeon dynamic power management method (DPM): battery, performance.
-RADEON_DPM_STATE_ON_AC=performance
-RADEON_DPM_STATE_ON_BAT=battery
-
-# Radeon DPM performance level: auto, low, high; auto is recommended.
-RADEON_DPM_PERF_LEVEL_ON_AC=auto
-RADEON_DPM_PERF_LEVEL_ON_BAT=auto
-
-# WiFi power saving mode: on=enable, off=disable; not supported by all adapters.
-WIFI_PWR_ON_AC=off
-WIFI_PWR_ON_BAT=on
-
-# Disable wake on LAN: Y/N.
-WOL_DISABLE=Y
-
-# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
-# A value of 0 disables, >=1 enables power saving (recommended: 1).
-SOUND_POWER_SAVE_ON_AC=0
-SOUND_POWER_SAVE_ON_BAT=1
-
-# Disable controller too (HDA only): Y/N.
-SOUND_POWER_SAVE_CONTROLLER=Y
-
-# Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable.
-# Drive can be powered on again by releasing (and reinserting) the eject lever
-# or by pressing the disc eject button on newer models.
-# Note: an UltraBay/MediaBay hard disk is never powered off.
-BAY_POWEROFF_ON_AC=0
-BAY_POWEROFF_ON_BAT=0
-# Optical drive device to power off (default sr0).
-BAY_DEVICE="sr0"
-
-# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable.
-RUNTIME_PM_ON_AC=on
-RUNTIME_PM_ON_BAT=auto
-
-# Exclude PCI(e) device adresses the following list from Runtime PM
-# (separate with spaces). Use lspci to get the adresses (1st column).
-#RUNTIME_PM_BLACKLIST="bb:dd.f 11:22.3 44:55.6"
-
-# Exclude PCI(e) devices assigned to the listed drivers from Runtime PM.
-# Default when unconfigured is "amdgpu nouveau nvidia radeon" which
-# prevents accidential power-on of dGPU in hybrid graphics setups.
-# Use "" to disable the feature completely.
-# Separate multiple drivers with spaces.
-#RUNTIME_PM_DRIVER_BLACKLIST="amdgpu nouveau nvidia radeon"
-
-# Set to 0 to disable, 1 to enable USB autosuspend feature.
-USB_AUTOSUSPEND=1
-
-# Exclude listed devices from USB autosuspend (separate with spaces).
-# Use lsusb to get the ids.
-# Note: input devices (usbhid) are excluded automatically
-#USB_BLACKLIST="1111:2222 3333:4444"
-
-# Bluetooth devices are excluded from USB autosuspend:
-#   0=do not exclude, 1=exclude.
-USB_BLACKLIST_BTUSB=0
-
-# Phone devices are excluded from USB autosuspend:
-#   0=do not exclude, 1=exclude (enable charging).
-USB_BLACKLIST_PHONE=0
-
-# Printers are excluded from USB autosuspend:
-#   0=do not exclude, 1=exclude.
-USB_BLACKLIST_PRINTER=1
-
-# WWAN devices are excluded from USB autosuspend:
-#   0=do not exclude, 1=exclude.
-USB_BLACKLIST_WWAN=1
-
-# Include listed devices into USB autosuspend even if already excluded
-# by the blacklists above (separate with spaces).
-# Use lsusb to get the ids.
-#USB_WHITELIST="1111:2222 3333:4444"
-
-# Set to 1 to disable autosuspend before shutdown, 0 to do nothing
-# (workaround for USB devices that cause shutdown problems).
-#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1
-
-# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
-# on system startup: 0=disable, 1=enable.
-# Hint: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
-#   are ignored when this is enabled!
-RESTORE_DEVICE_STATE_ON_STARTUP=0
-
-# Radio devices to disable on startup: bluetooth, wifi, wwan.
-# Separate multiple devices with spaces.
-#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
-
-# Radio devices to enable on startup: bluetooth, wifi, wwan.
-# Separate multiple devices with spaces.
-#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
-
-# Radio devices to disable on shutdown: bluetooth, wifi, wwan.
-# (workaround for devices that are blocking shutdown).
-#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"
-
-# Radio devices to enable on shutdown: bluetooth, wifi, wwan.
-# (to prevent other operating systems from missing radios).
-#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"
-
-# Radio devices to enable on AC: bluetooth, wifi, wwan.
-#DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
-
-# Radio devices to disable on battery: bluetooth, wifi, wwan.
-#DEVICES_TO_DISABLE_ON_BAT="bluetooth wifi wwan"
-
-# Radio devices to disable on battery when not in use (not connected):
-#   bluetooth, wifi, wwan.
-#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan"
-
-# Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module
-# required). Charging starts when the remaining capacity falls below the
-# START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH value.
-# Main / Internal battery (values in %)
-#START_CHARGE_THRESH_BAT0=75
-#STOP_CHARGE_THRESH_BAT0=80
-# Ultrabay / Slice / Replaceable battery (values in %)
-#START_CHARGE_THRESH_BAT1=75
-#STOP_CHARGE_THRESH_BAT1=80
-
-# Restore charge thresholds when AC is unplugged: 0=disable, 1=enable.
-#RESTORE_THRESHOLDS_ON_BAT=1
-
-# ------------------------------------------------------------------------------
-# tlp-rdw - Parameters for the radio device wizard
-# Possible devices: bluetooth, wifi, wwan.
-
-# Hints:
-# - Parameters are disabled by default, remove the leading # to enable them
-# - Separate multiple radio devices with spaces
-
-# Radio devices to disable on connect.
-#DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
-#DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
-#DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"
-
-# Radio devices to enable on disconnect.
-#DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
-#DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
-#DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
-
-# Radio devices to enable/disable when docked.
-#DEVICES_TO_ENABLE_ON_DOCK=""
-#DEVICES_TO_DISABLE_ON_DOCK=""
-
-# Radio devices to enable/disable when undocked.
-#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
-#DEVICES_TO_DISABLE_ON_UNDOCK=""
diff --git a/tlpui/defaults/tlp-1_2.conf b/tlpui/defaults/tlp-1_2.conf
deleted file mode 100644
index 748037f..0000000
--- a/tlpui/defaults/tlp-1_2.conf
+++ /dev/null
@@ -1,398 +0,0 @@
-# ------------------------------------------------------------------------------
-# tlp - Parameters for power saving
-# See full explanation: https://linrunner.de/en/tlp/docs/tlp-configuration.html
-
-# Notes:
-# - Some parameters are disabled, remove the leading '#' to enable # them;
-#   shown values are suggestions not defaults
-# - Default *: intrinsic default that is effective when the parameter is missing
-#   or disabled by a leading '#'; use PARAM="" to disable intrinsic defaults for
-#   parameters with text string values
-# - Default <none>: do nothing or use kernel/hardware defaults
-
-# Set to 0 to disable, 1 to enable TLP.
-# Default: 0
-TLP_ENABLE=1
-
-# Operation mode when no power supply can be detected: AC, BAT.
-# Concerns some desktop and embedded hardware only.
-# Default: <none>
-TLP_DEFAULT_MODE=AC
-
-# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
-# Hint: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
-# Default: 0
-TLP_PERSISTENT_DEFAULT=0
-
-# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
-# Non-zero value enables, zero disables laptop mode.
-# Default: 0 (AC), 2 (BAT)
-DISK_IDLE_SECS_ON_AC=0
-DISK_IDLE_SECS_ON_BAT=2
-
-# Dirty page values (timeouts in secs).
-# Default: 15 (AC + BAT)
-MAX_LOST_WORK_SECS_ON_AC=15
-MAX_LOST_WORK_SECS_ON_BAT=60
-
-# Note: CPU parameters below are disabled by default, remove the leading #
-# to enable them, otherwise kernel defaults will be used.
-
-# Select a CPU frequency scaling governor.
-# Intel Core i processor with intel_pstate driver:
-#   powersave(*), performance.
-# Older hardware with acpi-cpufreq driver:
-#   ondemand(*), powersave, performance, conservative, schedutil.
-# (*) is recommended.
-# Use tlp-stat -p to show the active driver and available governors.
-# Important:
-#   powersave for intel_pstate and ondemand for acpi-cpufreq are power
-#   efficient for *almost all* workloads and therefore kernel and most
-#   distributions have chosen them as defaults. If you still want to change,
-#   you should know what you're doing! You *must* disable your distribution's
-#   governor settings or conflicts will occur.
-# Default: <none>
-#CPU_SCALING_GOVERNOR_ON_AC=powersave
-#CPU_SCALING_GOVERNOR_ON_BAT=powersave
-
-# Set the min/max frequency available for the scaling governor.
-# Possible values depend on your CPU. For available frequencies see
-# the output of tlp-stat -p.
-# Default: <none>
-#CPU_SCALING_MIN_FREQ_ON_AC=0
-#CPU_SCALING_MAX_FREQ_ON_AC=0
-#CPU_SCALING_MIN_FREQ_ON_BAT=0
-#CPU_SCALING_MAX_FREQ_ON_BAT=0
-
-# Set energy performance hints (HWP) for Intel P-state governor:
-#   performance, balance_performance, default, balance_power, power
-# Values are given in order of increasing power saving.
-# Note: Intel Skylake or newer CPU and Kernel >= 4.10 required.
-# Default: <none>
-CPU_HWP_ON_AC=balance_performance
-CPU_HWP_ON_BAT=balance_power
-
-# Set Intel P-state performance: 0..100 (%).
-# Limit the max/min P-state to control the power dissipation of the CPU.
-# Values are stated as a percentage of the available performance.
-# Requires an Intel Core i processor with intel_pstate driver.
-# Default: <none>
-#CPU_MIN_PERF_ON_AC=0
-#CPU_MAX_PERF_ON_AC=100
-#CPU_MIN_PERF_ON_BAT=0
-#CPU_MAX_PERF_ON_BAT=30
-
-# Set the CPU "turbo boost" feature: 0=disable, 1=allow
-# Requires an Intel Core i processor.
-# Important:
-# - This may conflict with your distribution's governor settings
-# - A value of 1 does *not* activate boosting, it just allows it
-# Default: <none>
-#CPU_BOOST_ON_AC=1
-#CPU_BOOST_ON_BAT=0
-
-# Minimize number of used CPU cores/hyper-threads under light load conditions:
-#   0=disable, 1=enable.
-# Default: <none>
-SCHED_POWERSAVE_ON_AC=0
-SCHED_POWERSAVE_ON_BAT=1
-
-# Kernel NMI Watchdog:
-#   0=disable (default, saves power), 1=enable (for kernel debugging only).
-# Default: <none>
-NMI_WATCHDOG=0
-
-# Change CPU voltages aka "undervolting" - Kernel with PHC patch required.
-# Frequency voltage pairs are written to:
-#   /sys/devices/system/cpu/cpu0/cpufreq/phc_controls
-# CAUTION: only use this, if you thoroughly understand what you are doing!
-# Default: <none>.
-#PHC_CONTROLS="F:V F:V F:V F:V"
-
-# Set CPU performance versus energy savings policy:
-#   performance, balance-performance, default, balance-power, power.
-# Values are given in order of increasing power saving.
-# Requires kernel module msr and x86_energy_perf_policy from linux-tools.
-# Default: <none>
-ENERGY_PERF_POLICY_ON_AC=performance
-ENERGY_PERF_POLICY_ON_BAT=power
-
-# Disk devices; separate multiple devices with spaces.
-# Devices can be specified by disk ID also (lookup with: tlp diskid).
-# Note: DISK parameters below are effective only when this option is configured.
-# Default: "nvme0n1 sda"
-DISK_DEVICES="nvme0n1 sda"
-
-# Disk advanced power management level: 1..254, 255 (max saving, min, off).
-# Levels 1..127 may spin down the disk; 255 allowable on most drives.
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the hardware default for the particular disk.
-# Default: <none>
-DISK_APM_LEVEL_ON_AC="254 254"
-DISK_APM_LEVEL_ON_BAT="128 128"
-
-# Hard disk spin down timeout:
-#   0:        spin down disabled
-#   1..240:   timeouts from 5s to 20min (in units of 5s)
-#   241..251: timeouts from 30min to 5.5 hours (in units of 30min)
-# See 'man hdparm' for details.
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the hardware default for the particular disk.
-# Default: <none>
-#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
-#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"
-
-# Select I/O scheduler for the disk devices.
-# Multi queue (blk-mq) schedulers:
-#   mq-deadline(*), none, kyber, bfq
-# Single queue schedulers:
-#   deadline(*), cfq, bfq, noop
-# (*) recommended.
-# Separate values for multiple disks with spaces. Use the special value 'keep'
-# to keep the kernel default scheduler for the particular disk.
-# Notes:
-# - Multi queue (blk-mq) may need kernel boot option 'scsi_mod.use_blk_mq=1'
-#   and 'modprobe mq-deadline-iosched|kyber|bfq' on kernels < 5.0
-# - Single queue schedulers are legacy now and were removed together with
-#   the old block layer in kernel 5.0
-# Default: keep
-#DISK_IOSCHED="mq-deadline mq-deadline"
-
-# AHCI link power management (ALPM) for disk devices:
-#   min_power, med_power_with_dipm(*), medium_power, max_performance.
-# (*) Kernel >= 4.15 required, then recommended.
-# Multiple values separated with spaces are tried sequentially until success.
-# Default: <none>
-SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
-SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
-
-# Exclude host devices from AHCI link power management.
-# Separate multiple hosts with spaces.
-# Default: <none>
-#SATA_LINKPWR_BLACKLIST="host1"
-
-# Runtime Power Management for AHCI host and disks devices:
-#   on=disable, auto=enable.
-# EXPERIMENTAL ** WARNING: auto may cause system lockups/data loss.
-# Default: <none>
-#AHCI_RUNTIME_PM_ON_AC=on
-#AHCI_RUNTIME_PM_ON_BAT=on
-
-# Seconds of inactivity before disk is suspended.
-# Note: effective only when AHCI_RUNTIME_PM_ON_AC/BAT is activated.
-# Default: 15
-AHCI_RUNTIME_PM_TIMEOUT=15
-
-# PCI Express Active State Power Management (PCIe ASPM):
-#   default(*), performance, powersave.
-# (*) keeps BIOS ASPM defaults (recommended)
-# Default: <none>
-#PCIE_ASPM_ON_AC=default
-#PCIE_ASPM_ON_BAT=default
-
-# Set the min/max/turbo frequency for the Intel GPU.
-# Possible values depend on your hardware. For available frequencies see
-# the output of tlp-stat -g.
-# Default: <none>
-#INTEL_GPU_MIN_FREQ_ON_AC=0
-#INTEL_GPU_MIN_FREQ_ON_BAT=0
-#INTEL_GPU_MAX_FREQ_ON_AC=0
-#INTEL_GPU_MAX_FREQ_ON_BAT=0
-#INTEL_GPU_BOOST_FREQ_ON_AC=0
-#INTEL_GPU_BOOST_FREQ_ON_BAT=0
-
-# Radeon graphics clock speed (profile method): low, mid, high, auto, default;
-# auto = mid on BAT, high on AC.
-# Default: default
-RADEON_POWER_PROFILE_ON_AC=default
-RADEON_POWER_PROFILE_ON_BAT=default
-
-# Radeon dynamic power management method (DPM): battery, performance.
-# Default: <none>
-RADEON_DPM_STATE_ON_AC=performance
-RADEON_DPM_STATE_ON_BAT=battery
-
-# Radeon DPM performance level: auto, low, high; auto is recommended.
-# Note: effective only when RADEON_DPM_STATE_ON_AC/BAT is activated.
-# Default: auto
-RADEON_DPM_PERF_LEVEL_ON_AC=auto
-RADEON_DPM_PERF_LEVEL_ON_BAT=auto
-
-# WiFi power saving mode: on=enable, off=disable; not supported by all adapters.
-# Default: <none>
-WIFI_PWR_ON_AC=off
-WIFI_PWR_ON_BAT=on
-
-# Disable wake on LAN: Y/N.
-# Default: N
-WOL_DISABLE=Y
-
-# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
-# A value of 0 disables, >=1 enables power saving (recommended: 1).
-# Default: <none>
-SOUND_POWER_SAVE_ON_AC=0
-SOUND_POWER_SAVE_ON_BAT=1
-
-# Disable controller too (HDA only): Y/N.
-# Note: effective only when SOUND_POWER_SAVE_ON_AC/BAT is activated.
-# Default: Y
-SOUND_POWER_SAVE_CONTROLLER=Y
-
-# Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable.
-# Drive can be powered on again by releasing (and reinserting) the eject lever
-# or by pressing the disc eject button on newer models.
-# Note: an UltraBay/MediaBay hard disk is never powered off.
-# Default: 0
-BAY_POWEROFF_ON_AC=0
-BAY_POWEROFF_ON_BAT=0
-# Optical drive device to power off
-# Default: sr0
-BAY_DEVICE="sr0"
-
-# Runtime Power Management for PCI(e) bus devices: on=disable, auto=enable.
-# Default: <none>
-RUNTIME_PM_ON_AC=on
-RUNTIME_PM_ON_BAT=auto
-
-# Exclude PCI(e) device adresses the following list from Runtime PM
-# (separate with spaces). Use lspci to get the adresses (1st column).
-# Default: <none>
-#RUNTIME_PM_BLACKLIST="bb:dd.f 11:22.3 44:55.6"
-
-# Exclude PCI(e) devices assigned to the listed drivers from Runtime PM.
-# Default when unconfigured is "amdgpu nouveau nvidia radeon" which
-# prevents accidential power-on of dGPU in hybrid graphics setups.
-# Separate multiple drivers with spaces.
-# Default: "amdgpu mei_me nouveau nvidia pcieport radeon", use "" to disable
-# completely.
-#RUNTIME_PM_DRIVER_BLACKLIST="amdgpu mei_me nouveau nvidia pcieport radeon"
-
-# Set to 0 to disable, 1 to enable USB autosuspend feature.
-# Default: 0
-USB_AUTOSUSPEND=1
-
-# Exclude listed devices from USB autosuspend (separate with spaces).
-# Use lsusb to get the ids.
-# Note: input devices (usbhid) are excluded automatically
-# Default: <none>
-#USB_BLACKLIST="1111:2222 3333:4444"
-
-# Bluetooth devices are excluded from USB autosuspend:
-#   0=do not exclude, 1=exclude.
-# Default: 0
-USB_BLACKLIST_BTUSB=0
-
-# Phone devices are excluded from USB autosuspend:
-#   0=do not exclude, 1=exclude (enable charging).
-# Default: 0
-USB_BLACKLIST_PHONE=0
-
-# Printers are excluded from USB autosuspend:
-#   0=do not exclude, 1=exclude.
-# Default: 1
-USB_BLACKLIST_PRINTER=1
-
-# WWAN devices are excluded from USB autosuspend:
-#   0=do not exclude, 1=exclude.
-# Default: 0
-USB_BLACKLIST_WWAN=0
-
-# Include listed devices into USB autosuspend even if already excluded
-# by the blacklists above (separate with spaces). Use lsusb to get the ids.
-# Default: <none>
-#USB_WHITELIST="1111:2222 3333:4444"
-
-# Set to 1 to disable autosuspend before shutdown, 0 to do nothing
-# (workaround for USB devices that cause shutdown problems).
-# Default: 0
-#USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1
-
-# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
-# on system startup: 0=disable, 1=enable.
-# Note: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
-#   are ignored when this is enabled.
-# Default: 0
-RESTORE_DEVICE_STATE_ON_STARTUP=0
-
-# Radio devices to disable on startup: bluetooth, wifi, wwan.
-# Separate multiple devices with spaces.
-# Default: <none>
-#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth wifi wwan"
-
-# Radio devices to enable on startup: bluetooth, wifi, wwan.
-# Separate multiple devices with spaces.
-# Default: <none>
-#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
-
-# Radio devices to disable on shutdown: bluetooth, wifi, wwan.
-# (workaround for devices that are blocking shutdown).
-# Default: <none>
-#DEVICES_TO_DISABLE_ON_SHUTDOWN="bluetooth wifi wwan"
-
-# Radio devices to enable on shutdown: bluetooth, wifi, wwan.
-# (to prevent other operating systems from missing radios).
-# Default: <none>
-#DEVICES_TO_ENABLE_ON_SHUTDOWN="wwan"
-
-# Radio devices to enable on AC: bluetooth, wifi, wwan.
-# Default: <none>
-#DEVICES_TO_ENABLE_ON_AC="bluetooth wifi wwan"
-
-# Radio devices to disable on battery: bluetooth, wifi, wwan.
-# Default: <none>
-#DEVICES_TO_DISABLE_ON_BAT="bluetooth wifi wwan"
-
-# Radio devices to disable on battery when not in use (not connected):
-#   bluetooth, wifi, wwan.
-# Default: <none>
-#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth wifi wwan"
-
-# Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module
-# required). Charging starts when the remaining capacity falls below the
-# START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH value.
-# Main / Internal battery (values in %)
-# Default: <none>
-#START_CHARGE_THRESH_BAT0=75
-#STOP_CHARGE_THRESH_BAT0=80
-# Ultrabay / Slice / Replaceable battery (values in %)
-# Default: <none>
-#START_CHARGE_THRESH_BAT1=75
-#STOP_CHARGE_THRESH_BAT1=80
-
-# Restore charge thresholds when AC is unplugged: 0=disable, 1=enable.
-# Default: 0
-#RESTORE_THRESHOLDS_ON_BAT=1
-
-# Battery feature drivers: 0=disable, 1=enable
-# Default: 1 (all)
-NATACPI_ENABLE=1
-TPACPI_ENABLE=1
-TPSMAPI_ENABLE=1
-
-# ------------------------------------------------------------------------------
-# tlp-rdw - Parameters for the radio device wizard
-# Possible devices: bluetooth, wifi, wwan.
-
-# Notes:
-# - Parameters are disabled by default, remove the leading # to enable them
-# - Separate multiple radio devices with spaces
-
-# Default: <none> (for all parameters below)
-
-# Radio devices to disable on connect.
-#DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
-#DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
-#DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"
-
-# Radio devices to enable on disconnect.
-#DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
-#DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
-#DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
-
-# Radio devices to enable/disable when docked.
-#DEVICES_TO_ENABLE_ON_DOCK=""
-#DEVICES_TO_DISABLE_ON_DOCK=""
-
-# Radio devices to enable/disable when undocked.
-#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
-#DEVICES_TO_DISABLE_ON_UNDOCK=""
diff --git a/tlpui/defaults/tlp-1_7.conf b/tlpui/defaults/tlp-1_7.conf
new file mode 100644
index 0000000..c947a96
--- /dev/null
+++ b/tlpui/defaults/tlp-1_7.conf
@@ -0,0 +1,567 @@
+# ------------------------------------------------------------------------------
+# /etc/tlp.conf - TLP user configuration (version @TLPVER@)
+# See full explanation: https://linrunner.de/tlp/settings
+#
+# Copyright (c) 2023 Thomas Koch <linrunner at gmx.net> and others.
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
+# Settings are read in the following order:
+#
+# 1. Intrinsic defaults
+# 2. /etc/tlp.d/*.conf - Drop-in customization snippets
+# 3. /etc/tlp.conf     - User configuration (this file)
+#
+# Notes:
+# - In case of identical parameters, the last occurence has precedence
+# - This also means, parameters enabled here will override anything else
+# - However you may append values to a parameter already defined as intrinsic
+#   default or in a previously read file: use PARAMETER+="add values"
+# - IMPORTANT: all parameters here are disabled; remove the leading '#' if you
+#   like to enable a feature without default or have a value different from the
+#   default
+# - Default *: intrinsic default that is effective when the parameter is missing
+#   or disabled by a leading '#'; use PARAM="" to disable an intrinsic default
+# - Default <none>: do nothing or use kernel/hardware defaults
+# - IMPORTANT: parameters must always be specified pairwise i.e. for
+#   both AC and BAT. Omitting one of the two makes the set value effective for
+#   both power sources, since a change only occurs when different values are
+#   defined.
+# ------------------------------------------------------------------------------
+# tlp - Parameters for power saving
+
+# Set to 0 to disable, 1 to enable TLP.
+# Default: 1
+
+#TLP_ENABLE=1
+
+# Control how warnings about invalid settings are issued:
+#   0=disabled,
+#   1=background tasks (boot, resume, change of power source) report to syslog,
+#   2=shell commands report to the terminal (stderr),
+#   3=combination of 1 and 2
+# Default: 3
+
+#TLP_WARN_LEVEL=3
+
+# Operation mode when no power supply can be detected: AC, BAT.
+# Concerns some desktop and embedded hardware only.
+# Default: <none>
+
+#TLP_DEFAULT_MODE=AC
+
+# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
+# Note: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
+# Default: 0
+
+#TLP_PERSISTENT_DEFAULT=0
+
+# Power supply classes to ignore when determining operation mode: AC, USB, BAT.
+# Separate multiple classes with spaces.
+# Note: try on laptops where operation mode AC/BAT is incorrectly detected.
+# Default: <none>
+
+#TLP_PS_IGNORE="BAT"
+
+# Seconds laptop mode has to wait after the disk goes idle before doing a sync.
+# Non-zero value enables, zero disables laptop mode.
+# Default: 0 (AC), 2 (BAT)
+
+#DISK_IDLE_SECS_ON_AC=0
+#DISK_IDLE_SECS_ON_BAT=2
+
+# Dirty page values (timeouts in secs).
+# Default: 15 (AC), 60 (BAT)
+
+#MAX_LOST_WORK_SECS_ON_AC=15
+#MAX_LOST_WORK_SECS_ON_BAT=60
+
+# Select a CPU scaling driver operation mode.
+# Intel CPU with intel_pstate driver:
+#   active, passive.
+# AMD Zen 2 or newer CPU with amd-pstate_driver as of kernel 6.3/6.4(*):
+#   active, passive, guided(*).
+# Default: <none>
+#CPU_DRIVER_OPMODE_ON_AC=active
+#CPU_DRIVER_OPMODE_ON_BAT=active
+
+# Select a CPU frequency scaling governor.
+# Intel CPU with intel_pstate driver or
+# AMD CPU with amd-pstate driver in active mode ('amd-pstate-epp'):
+#   performance, powersave(*).
+# Intel CPU with intel_pstate driver in passive mode ('intel_cpufreq') or
+# AMD CPU with amd-pstate driver in passive or guided mode ('amd-pstate') or
+# Intel, AMD and other CPU brands with acpi-cpufreq driver:
+#   conservative, ondemand(*), userspace, powersave, performance, schedutil(*).
+# Use tlp-stat -p to show the active driver and available governors.
+# Important:
+#   Governors marked (*) above are power efficient for *almost all* workloads
+#   and therefore kernel and most distributions have chosen them as defaults.
+#   You should have done your research about advantages/disadvantages *before*
+#   changing the governor.
+# Default: <none>
+
+#CPU_SCALING_GOVERNOR_ON_AC=powersave
+#CPU_SCALING_GOVERNOR_ON_BAT=powersave
+
+# Set the min/max frequency available for the scaling governor.
+# Possible values depend on your CPU. For available frequencies see
+# the output of tlp-stat -p.
+# Notes:
+# - Min/max frequencies must always be specified for both AC *and* BAT
+# - Not recommended for use with the intel_pstate driver, use
+#   CPU_MIN/MAX_PERF_ON_AC/BAT below instead
+# Default: <none>
+
+#CPU_SCALING_MIN_FREQ_ON_AC=0
+#CPU_SCALING_MAX_FREQ_ON_AC=0
+#CPU_SCALING_MIN_FREQ_ON_BAT=0
+#CPU_SCALING_MAX_FREQ_ON_BAT=0
+
+# Set CPU energy/performance policies EPP and EPB:
+#   performance, balance_performance, default, balance_power, power.
+# Values are given in order of increasing power saving.
+# Requires:
+# * Intel CPU
+#   EPP: Intel Core i 6th gen. or newer CPU with intel_pstate driver
+#   EPB: Intel Core i 2nd gen. or newer CPU with intel_pstate driver
+#     as of kernel 5.2; alternatively module msr and
+#     x86_energy_perf_policy from linux-tools
+#   EPP and EPB are mutually exclusive: when EPP is available, Intel CPUs
+#   will not honor EPB. Only the matching feature will be applied by TLP.
+# * AMD Zen 2 or newer CPU
+#   EPP: amd-pstate driver in active mode ('amd-pstate-epp') as of kernel 6.3
+# Default: balance_performance (AC), balance_power (BAT)
+
+#CPU_ENERGY_PERF_POLICY_ON_AC=balance_performance
+#CPU_ENERGY_PERF_POLICY_ON_BAT=balance_power
+
+# Set Intel CPU P-state performance: 0..100 (%).
+# Limit the max/min P-state to control the power dissipation of the CPU.
+# Values are stated as a percentage of the available performance.
+# Requires Intel Core i 2nd gen. or newer CPU with intel_pstate driver.
+# Default: <none>
+
+#CPU_MIN_PERF_ON_AC=0
+#CPU_MAX_PERF_ON_AC=100
+#CPU_MIN_PERF_ON_BAT=0
+#CPU_MAX_PERF_ON_BAT=30
+
+# Set the CPU "turbo boost" (Intel) or "turbo core" (AMD) feature:
+#   0=disable, 1=allow.
+# Allows to raise the maximum frequency/P-state of some cores if the
+# CPU chip is not fully utilized and below it's intended thermal budget.
+# Note: a value of 1 does *not* activate boosting, it just allows it.
+# Default: <none>
+
+#CPU_BOOST_ON_AC=1
+#CPU_BOOST_ON_BAT=0
+
+# Set Intel/AMD CPU dynamic boost feature:
+#   0=disable, 1=enable.
+# Improve performance by increasing minimum P-state limit dynamically
+# whenever a task previously waiting on I/O is selected to run.
+# Requires:
+# * Intel Core i  6th gen. or newer CPU: intel_pstate driver in active mode
+# * AMD Zen 2 or newer CPU: amd-pstate driver in active mode ('amd-pstate-epp')
+#   provided by a yet unreleased kernel 6.x
+# Default: <none>
+
+#CPU_HWP_DYN_BOOST_ON_AC=1
+#CPU_HWP_DYN_BOOST_ON_BAT=0
+
+# Kernel NMI Watchdog:
+#   0=disable (default, saves power), 1=enable (for kernel debugging only).
+# Default: 0
+
+#NMI_WATCHDOG=0
+
+# Select platform profile:
+#   performance, balanced, low-power.
+# Controls system operating characteristics around power/performance levels,
+# thermal and fan speed. Values are given in order of increasing power saving.
+# Note: check the output of tlp-stat -p to determine availability on your
+# hardware and additional profiles such as: balanced-performance, quiet, cool.
+# Default: <none>
+
+#PLATFORM_PROFILE_ON_AC=performance
+#PLATFORM_PROFILE_ON_BAT=low-power
+
+# System suspend mode:
+#   s2idle: Idle standby - a pure software, light-weight, system sleep state,
+#   deep: Suspend to RAM - the whole system is put into a low-power state,
+#     except for memory, usually resulting in higher savings than s2idle.
+# CAUTION: changing suspend mode may lead to system instability and even
+# data loss. As for the availability of different modes on your system,
+# check the output of tlp-stat -s. If unsure, stick with the system default
+# by not enabling this.
+# Default: <none>
+
+#MEM_SLEEP_ON_AC=s2idle
+#MEM_SLEEP_ON_BAT=deep
+
+# Define disk devices on which the following DISK/AHCI_RUNTIME parameters act.
+# Separate multiple devices with spaces.
+# Devices can be specified by disk ID also (lookup with: tlp diskid).
+# Default: "nvme0n1 sda"
+
+#DISK_DEVICES="nvme0n1 sda"
+
+# Disk advanced power management level: 1..254, 255 (max saving, min, off).
+# Levels 1..127 may spin down the disk; 255 allowable on most drives.
+# Separate values for multiple disks with spaces. Use the special value 'keep'
+# to keep the hardware default for the particular disk.
+# Default: 254 (AC), 128 (BAT)
+
+#DISK_APM_LEVEL_ON_AC="254 254"
+#DISK_APM_LEVEL_ON_BAT="128 128"
+
+# Exclude disk classes from advanced power management (APM):
+#   sata, ata, usb, ieee1394.
+# Separate multiple classes with spaces.
+# CAUTION: USB and IEEE1394 disks may fail to mount or data may get corrupted
+# with APM enabled. Be careful and make sure you have backups of all affected
+# media before removing 'usb' or 'ieee1394' from the denylist!
+# Default: "usb ieee1394"
+
+#DISK_APM_CLASS_DENYLIST="usb ieee1394"
+
+# Hard disk spin down timeout:
+#   0:        spin down disabled
+#   1..240:   timeouts from 5s to 20min (in units of 5s)
+#   241..251: timeouts from 30min to 5.5 hours (in units of 30min)
+# See 'man hdparm' for details.
+# Separate values for multiple disks with spaces. Use the special value 'keep'
+# to keep the hardware default for the particular disk.
+# Default: <none>
+
+#DISK_SPINDOWN_TIMEOUT_ON_AC="0 0"
+#DISK_SPINDOWN_TIMEOUT_ON_BAT="0 0"
+
+# Select I/O scheduler for the disk devices.
+# Multi queue (blk-mq) schedulers:
+#   mq-deadline(*), none, kyber, bfq
+# Single queue schedulers:
+#   deadline(*), cfq, bfq, noop
+# (*) recommended.
+# Separate values for multiple disks with spaces. Use the special value 'keep'
+# to keep the kernel default scheduler for the particular disk.
+# Notes:
+# - Multi queue (blk-mq) may need kernel boot option 'scsi_mod.use_blk_mq=1'
+#   and 'modprobe mq-deadline-iosched|kyber|bfq' on kernels < 5.0
+# - Single queue schedulers are legacy now and were removed together with
+#   the old block layer in kernel 5.0
+# Default: keep
+
+#DISK_IOSCHED="mq-deadline mq-deadline"
+
+# AHCI link power management (ALPM) for SATA disks:
+#   min_power, med_power_with_dipm(*), medium_power, max_performance.
+# (*) recommended.
+# Multiple values separated with spaces are tried sequentially until success.
+# Default: med_power_with_dipm (AC & BAT)
+
+#SATA_LINKPWR_ON_AC="med_power_with_dipm"
+#SATA_LINKPWR_ON_BAT="med_power_with_dipm"
+
+# Exclude SATA links from AHCI link power management (ALPM).
+# SATA links are specified by their host. Refer to the output of
+# tlp-stat -d to determine the host; the format is "hostX".
+# Separate multiple hosts with spaces.
+# Default: <none>
+
+#SATA_LINKPWR_DENYLIST="host1"
+
+# Runtime Power Management for NVMe, SATA, ATA and USB disks
+# as well as SATA ports:
+#   on=disable, auto=enable.
+# Note: SATA controllers are PCIe bus devices and handled by RUNTIME_PM further
+# down.
+
+# Default: on (AC), auto (BAT)
+
+#AHCI_RUNTIME_PM_ON_AC=on
+#AHCI_RUNTIME_PM_ON_BAT=auto
+
+# Seconds of inactivity before disk is suspended.
+# Note: effective only when AHCI_RUNTIME_PM_ON_AC/BAT is activated.
+# Default: 15
+
+#AHCI_RUNTIME_PM_TIMEOUT=15
+
+# Power off optical drive in UltraBay/MediaBay: 0=disable, 1=enable.
+# Drive can be powered on again by releasing (and reinserting) the eject lever
+# or by pressing the disc eject button on newer models.
+# Note: an UltraBay/MediaBay hard disk is never powered off.
+# Default: 0
+
+#BAY_POWEROFF_ON_AC=0
+#BAY_POWEROFF_ON_BAT=0
+
+# Optical drive device to power off
+# Default: sr0
+
+#BAY_DEVICE="sr0"
+
+# Set the min/max/turbo frequency for the Intel GPU.
+# Possible values depend on your hardware. For available frequencies see
+# the output of tlp-stat -g.
+# Default: <none>
+
+#INTEL_GPU_MIN_FREQ_ON_AC=0
+#INTEL_GPU_MIN_FREQ_ON_BAT=0
+#INTEL_GPU_MAX_FREQ_ON_AC=0
+#INTEL_GPU_MAX_FREQ_ON_BAT=0
+#INTEL_GPU_BOOST_FREQ_ON_AC=0
+#INTEL_GPU_BOOST_FREQ_ON_BAT=0
+
+# AMD GPU power management.
+# Performance level (DPM): auto, low, high; auto is recommended.
+# Note: requires amdgpu or radeon driver.
+# Default: auto
+
+#RADEON_DPM_PERF_LEVEL_ON_AC=auto
+#RADEON_DPM_PERF_LEVEL_ON_BAT=auto
+
+# Dynamic power management method (DPM): balanced, battery, performance.
+# Note: radeon driver only.
+# Default: <none>
+
+#RADEON_DPM_STATE_ON_AC=performance
+#RADEON_DPM_STATE_ON_BAT=battery
+
+# Graphics clock speed (profile method): low, mid, high, auto, default;
+# auto = mid on BAT, high on AC.
+# Note: radeon driver on legacy ATI hardware only (where DPM is not available).
+# Default: default
+
+#RADEON_POWER_PROFILE_ON_AC=default
+#RADEON_POWER_PROFILE_ON_BAT=default
+
+# Wi-Fi power saving mode: on=enable, off=disable.
+# Default: off (AC), on (BAT)
+
+#WIFI_PWR_ON_AC=off
+#WIFI_PWR_ON_BAT=on
+
+# Disable Wake-on-LAN: Y/N.
+# Default: Y
+
+#WOL_DISABLE=Y
+
+# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
+# A value of 0 disables, >= 1 enables power saving.
+# Note: 1 is recommended for Linux desktop environments with PulseAudio,
+# systems without PulseAudio may require 10.
+# Default: 1
+
+#SOUND_POWER_SAVE_ON_AC=1
+#SOUND_POWER_SAVE_ON_BAT=1
+
+# Disable controller too (HDA only): Y/N.
+# Note: effective only when SOUND_POWER_SAVE_ON_AC/BAT is activated.
+# Default: Y
+
+#SOUND_POWER_SAVE_CONTROLLER=Y
+
+# PCIe Active State Power Management (ASPM):
+#   default(*), performance, powersave, powersupersave.
+# (*) keeps BIOS ASPM defaults (recommended)
+# Default: <none>
+
+#PCIE_ASPM_ON_AC=default
+#PCIE_ASPM_ON_BAT=default
+
+# Runtime Power Management for PCIe bus devices: on=disable, auto=enable.
+# Default: on (AC), auto (BAT)
+
+#RUNTIME_PM_ON_AC=on
+#RUNTIME_PM_ON_BAT=auto
+
+# Exclude listed PCIe device adresses from Runtime PM.
+# Note: this preserves the kernel driver default, to force a certain state
+# use RUNTIME_PM_ENABLE/DISABLE instead.
+# Separate multiple addresses with spaces.
+# Use lspci to get the adresses (1st column).
+# Default: <none>
+
+#RUNTIME_PM_DENYLIST="11:22.3 44:55.6"
+
+# Exclude PCIe devices assigned to the listed drivers from Runtime PM.
+# Note: this preserves the kernel driver default, to force a certain state
+# use RUNTIME_PM_ENABLE/DISABLE instead.
+# Separate multiple drivers with spaces.
+# Default: "mei_me nouveau radeon", use "" to disable completely.
+
+#RUNTIME_PM_DRIVER_DENYLIST="mei_me nouveau radeon"
+
+# Permanently enable/disable Runtime PM for listed PCIe device addresses
+# (independent of the power source). This has priority over all preceding
+# Runtime PM settings. Separate multiple addresses with spaces.
+# Use lspci to get the adresses (1st column).
+# Default: <none>
+
+#RUNTIME_PM_ENABLE="11:22.3"
+#RUNTIME_PM_DISABLE="44:55.6"
+
+# Set to 0 to disable, 1 to enable USB autosuspend feature.
+# Default: 1
+
+#USB_AUTOSUSPEND=1
+
+# Exclude listed devices from USB autosuspend (separate with spaces).
+# Use lsusb to get the ids.
+# Note: input devices (usbhid) and libsane-supported scanners are excluded
+# automatically.
+# Default: <none>
+
+#USB_DENYLIST="1111:2222 3333:4444"
+
+# Exclude audio devices from USB autosuspend:
+#   0=do not exclude, 1=exclude.
+# Default: 1
+
+#USB_EXCLUDE_AUDIO=1
+
+# Exclude bluetooth devices from USB autosuspend:
+#   0=do not exclude, 1=exclude.
+# Default: 0
+
+#USB_EXCLUDE_BTUSB=0
+
+# Exclude phone devices from USB autosuspend:
+#   0=do not exclude, 1=exclude (enable charging).
+# Default: 0
+
+#USB_EXCLUDE_PHONE=0
+
+# Exclude printers from USB autosuspend:
+#   0=do not exclude, 1=exclude.
+# Default: 1
+
+#USB_EXCLUDE_PRINTER=1
+
+# Exclude WWAN devices from USB autosuspend:
+#   0=do not exclude, 1=exclude.
+# Default: 0
+
+#USB_EXCLUDE_WWAN=0
+
+# Allow USB autosuspend for listed devices even if already denylisted or
+# excluded above (separate with spaces). Use lsusb to get the ids.
+# Default: 0
+
+#USB_ALLOWLIST="1111:2222 3333:4444"
+
+# Restore radio device state (Bluetooth, WiFi, WWAN) from previous shutdown
+# on system startup: 0=disable, 1=enable.
+# Note: the parameters DEVICES_TO_DISABLE/ENABLE_ON_STARTUP/SHUTDOWN below
+# are ignored when this is enabled.
+# Default: 0
+
+#RESTORE_DEVICE_STATE_ON_STARTUP=0
+
+# Radio devices to disable on startup: bluetooth, nfc, wifi, wwan.
+# Separate multiple devices with spaces.
+# Default: <none>
+
+#DEVICES_TO_DISABLE_ON_STARTUP="bluetooth nfc wifi wwan"
+
+# Radio devices to enable on startup: bluetooth, nfc, wifi, wwan.
+# Separate multiple devices with spaces.
+# Default: <none>
+
+#DEVICES_TO_ENABLE_ON_STARTUP="wifi"
+
+# Radio devices to enable on AC: bluetooth, nfc, wifi, wwan.
+# Default: <none>
+
+#DEVICES_TO_ENABLE_ON_AC="bluetooth nfc wifi wwan"
+
+# Radio devices to disable on battery: bluetooth, nfc, wifi, wwan.
+# Default: <none>
+
+#DEVICES_TO_DISABLE_ON_BAT="bluetooth nfc wifi wwan"
+
+# Radio devices to disable on battery when not in use (not connected):
+#   bluetooth, nfc, wifi, wwan.
+# Default: <none>
+
+#DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth nfc wifi wwan"
+
+# Battery Care -- Charge thresholds
+# Charging starts when the charger is connected and the charge level
+# is below the start threshold. Charging stops when the charge level
+# is above the stop threshold.
+# Required hardware: Lenovo ThinkPads and select other laptop brands
+# are driven via specific plugins
+# - Active plugin and support status are shown by tlp-stat -b
+# - Vendor specific threshold levels are shown by tlp-stat -b, some
+#   laptops support only 1 (on)/ 0 (off) instead of a percentage level
+# - When your hardware supports a start *and* a stop threshold, you must
+#   specify both, otherwise TLP will refuse to apply the single threshold
+# - When your hardware supports only a stop threshold, set the start
+#   value to 0
+# - Older ThinkPads may require an external kernel module, refer to the
+#   output of tlp-stat -b
+# For further explanation and vendor specific details refer to
+# - https://linrunner.de/tlp/settings/battery.html
+# - https://linrunner.de/tlp/settings/bc-vendors.html
+
+# BAT0: Primary / Main / Internal battery
+# Note: also use for batteries BATC, BATT and CMB0
+# Default: <none>
+
+# Battery charge level below which charging will begin.
+#START_CHARGE_THRESH_BAT0=75
+# Battery charge level above which charging will stop.
+#STOP_CHARGE_THRESH_BAT0=80
+
+# BAT1: Secondary / Ultrabay / Slice / Replaceable battery
+# Note: primary on some laptops
+# Default: <none>
+
+# Battery charge level below which charging will begin.
+#START_CHARGE_THRESH_BAT1=75
+# Battery charge level above which charging will stop.
+#STOP_CHARGE_THRESH_BAT1=80
+
+# Restore charge thresholds when AC is unplugged: 0=disable, 1=enable.
+# Default: 0
+
+#RESTORE_THRESHOLDS_ON_BAT=1
+
+# Control battery care drivers: 0=disable, 1=enable.
+# Default: 1 (all)
+
+#NATACPI_ENABLE=1
+#TPACPI_ENABLE=1
+#TPSMAPI_ENABLE=1
+
+# ------------------------------------------------------------------------------
+# tlp-rdw - Parameters for the radio device wizard
+
+# Possible devices: bluetooth, wifi, wwan.
+# Separate multiple radio devices with spaces.
+# Default: <none> (for all parameters below)
+
+# Radio devices to disable on connect.
+
+#DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
+#DEVICES_TO_DISABLE_ON_WIFI_CONNECT="wwan"
+#DEVICES_TO_DISABLE_ON_WWAN_CONNECT="wifi"
+
+# Radio devices to enable on disconnect.
+
+#DEVICES_TO_ENABLE_ON_LAN_DISCONNECT="wifi wwan"
+#DEVICES_TO_ENABLE_ON_WIFI_DISCONNECT=""
+#DEVICES_TO_ENABLE_ON_WWAN_DISCONNECT=""
+
+# Radio devices to enable/disable when docked.
+
+#DEVICES_TO_ENABLE_ON_DOCK=""
+#DEVICES_TO_DISABLE_ON_DOCK=""
+
+# Radio devices to enable/disable when undocked.
+
+#DEVICES_TO_ENABLE_ON_UNDOCK="wifi"
+#DEVICES_TO_DISABLE_ON_UNDOCK=""
\ No newline at end of file
diff --git a/tlpui/file.py b/tlpui/file.py
index 4de5d58..f0f3ecb 100644
--- a/tlpui/file.py
+++ b/tlpui/file.py
@@ -8,34 +8,33 @@
 from .config import TlpConfig, ConfType
 from . import settings
 from . import settingshelper
-from .filehelper import get_json_schema_object_from_file, extract_default_tlp_configs, TlpDefaults
+from .filehelper import get_yaml_schema_object_from_file, extract_default_tlp_configs, TlpDefaults
 from .uihelper import get_graphical_sudo
 
 
-def get_json_schema_object(objectname) -> dict:
+def get_yaml_schema_object(objectname) -> dict:
     """Get Json schema for installed TLP version."""
-    tlpprovidedschema = '/usr/share/tlp-pm/configschema.json'
+    tlpprovidedschema = '/usr/share/tlp-pm/configschema.yaml'
     if path.exists(tlpprovidedschema):
-        return get_json_schema_object_from_file(objectname, tlpprovidedschema)
+        return get_yaml_schema_object_from_file(objectname, tlpprovidedschema)
     majorminor = settings.tlpbaseversion
-    return get_json_schema_object_from_file(objectname, f"{settings.workdir}/configschema/{majorminor}.json")
+    return get_yaml_schema_object_from_file(objectname, f"{settings.workdir}/configschema/{majorminor}.yaml")
 
 
 def get_tlp_config_defaults(tlpversion: str):
     """Fetch TLP default configs."""
     tlpconfig_defaults = extract_default_tlp_configs(f"{settings.workdir}/defaults/tlp-{tlpversion}.conf")
 
-    if tlpversion not in ["0_8", "0_9", "1_0", "1_1", "1_2"]:
-        # update default values with intrinsic ones
-        intrinsic_defaults_path = f"{settings.FOLDER_PREFIX}/usr/share/tlp/defaults.conf"
-        tlpconfig_defaults.update(extract_default_tlp_configs(intrinsic_defaults_path))
+    # update default values with intrinsic ones
+    intrinsic_defaults_path = f"{settings.FOLDER_PREFIX}/usr/share/tlp/defaults.conf"
+    tlpconfig_defaults.update(extract_default_tlp_configs(intrinsic_defaults_path))
 
     return tlpconfig_defaults
 
 
 def init_tlp_file_config() -> None:
     """Load current TLP config settings."""
-    settings.tlpconfig = dict()
+    settings.tlpconfig = {}
     tlpversion = settings.tlpbaseversion
     settings.tlpconfig_defaults = get_tlp_config_defaults(tlpversion)
 
@@ -43,10 +42,7 @@ def init_tlp_file_config() -> None:
     tlpstat = settingshelper.exec_command(["tlp-stat", "-c"])
     tlpsettinglines = tlpstat.split('\n')
 
-    if tlpversion in ["0_8", "0_9", "1_0", "1_1", "1_2"]:
-        extract_tlp_settings_obsolete(tlpsettinglines)
-    else:
-        extract_tlp_settings(tlpsettinglines)
+    extract_tlp_settings(tlpsettinglines)
 
     # Add default tlp configs not set in current settings
     for key, default in settings.tlpconfig_defaults.items():     # type: TlpDefaults
@@ -60,25 +56,6 @@ def init_tlp_file_config() -> None:
     settings.tlpconfig_original = copy.deepcopy(settings.tlpconfig)
 
 
-def extract_tlp_settings_obsolete(lines: list) -> None:
-    """Load current TLP config settings for TLP version < 1.3."""
-    propertypattern = re.compile(r'^[A-Z_\d]+=')
-
-    for line in lines:
-        if propertypattern.match(line):
-            cleanline = line.lstrip().rstrip()
-
-            configproperty = cleanline.split('=', maxsplit=1)
-            configname = configproperty[0]
-            configvalue = configproperty[1]
-
-            if configvalue.startswith('\"') and configvalue.endswith('\"'):
-                configvalue = configvalue.lstrip('\"').rstrip('\"')
-
-            settings.tlpconfig[configname] = TlpConfig(True, configname, configvalue,
-                                                       ConfType.USER, settings.tlpconfigfile)
-
-
 def extract_tlp_settings(lines: list) -> None:
     """Extract TLP config locations and values."""
     propertypattern = re.compile(r'^.+?\.conf\sL\d+\:\s[A-Z_\d]+=')
@@ -95,7 +72,7 @@ def extract_tlp_settings(lines: list) -> None:
             elif configfile == "/etc/tlp.conf":
                 conftype = ConfType.USER
             else:
-                print('Config type not found for file: {}'.format(configfile))
+                print(f'Config type not found for file: {configfile}')
                 conftype = ConfType.ERR
 
             configproperty = settingsparts[2].split('=', maxsplit=1)
@@ -112,7 +89,7 @@ def extract_tlp_settings(lines: list) -> None:
 
 def get_changed_properties() -> dict:
     """Evaluate changed settings from UI."""
-    changedproperties = dict()
+    changedproperties = {}
 
     changed = settings.tlpconfig
     original = settings.tlpconfig_original
@@ -145,9 +122,9 @@ def create_tmp_tlp_config_file(changedproperties: dict) -> str:
     """Create tmp file to prepare writing new config."""
     propertypattern = re.compile(r'^#?[A-Z_\d]+=')
     filehandler, tmpfilename = mkstemp(dir=settings.TMP_FOLDER)
-    newfile = open(tmpfilename, 'w')
+    newfile = open(tmpfilename, mode='w', encoding='utf-8')
 
-    oldfile = open(settings.tlpconfigfile)
+    oldfile = open(settings.tlpconfigfile, encoding='utf-8')
     lines = oldfile.readlines()
     oldfile.close()
 
diff --git a/tlpui/filehelper.py b/tlpui/filehelper.py
index b38a357..18ddd4d 100644
--- a/tlpui/filehelper.py
+++ b/tlpui/filehelper.py
@@ -2,15 +2,14 @@
 
 import re
 from io import open
-from json import load
+from yaml import safe_load
 
 
-def get_json_schema_object_from_file(objectname: str, filename: str) -> dict:
-    """Read Json file."""
-    jsonfile = open(filename)
-    jsonobject = load(jsonfile)
-    jsonfile.close()
-    return jsonobject[objectname]
+def get_yaml_schema_object_from_file(objectname: str, filename: str) -> dict:
+    """Read Yaml file."""
+    with open(filename, encoding='utf-8') as yaml_file:
+        yaml_object = safe_load(yaml_file)
+    return yaml_object[objectname]
 
 
 class TlpDefaults:
@@ -43,11 +42,10 @@ def is_quoted(self) -> bool:
 def extract_default_tlp_configs(filename: str) -> dict:
     """Fetch TLP defaults from file."""
     propertypattern = re.compile(r'^#?[A-Z_\d]+=')
-    fileopener = open(filename)
-    lines = fileopener.readlines()
-    fileopener.close()
+    with open(filename, encoding='utf-8') as defaultsfile:
+        lines = defaultsfile.readlines()
 
-    tlpconfig_defaults = dict()
+    tlpconfig_defaults = {}
     for line in lines:
         if propertypattern.match(line):
             cleanline = line.lstrip().rstrip()
diff --git a/tlpui/lang/de_DE/LC_MESSAGES/mainui.mo b/tlpui/lang/de_DE/LC_MESSAGES/mainui.mo
index 768acb3..af00481 100644
Binary files a/tlpui/lang/de_DE/LC_MESSAGES/mainui.mo and b/tlpui/lang/de_DE/LC_MESSAGES/mainui.mo differ
diff --git a/tlpui/lang/de_DE/LC_MESSAGES/mainui.po b/tlpui/lang/de_DE/LC_MESSAGES/mainui.po
index ebb2d20..fb51a5d 100644
--- a/tlpui/lang/de_DE/LC_MESSAGES/mainui.po
+++ b/tlpui/lang/de_DE/LC_MESSAGES/mainui.po
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: TLPUI\n"
-"POT-Creation-Date: 2023-12-25 16:36+0100\n"
-"PO-Revision-Date: 2023-12-25 16:43+0100\n"
+"POT-Creation-Date: 2024-01-02 19:11+0100\n"
+"PO-Revision-Date: 2024-01-02 19:12+0100\n"
 "Last-Translator: \n"
 "Language-Team: \n"
 "Language: de\n"
@@ -16,54 +16,58 @@ msgstr ""
 "X-Poedit-KeywordsList: MT_\n"
 "X-Poedit-SearchPath-0: mainui.py\n"
 
-#: mainui.py:75
+#: mainui.py:87
 msgid "Review settings"
 msgstr "Überprüfe Einstellungen"
 
-#: mainui.py:76
+#: mainui.py:88
 msgid "Save these changes?"
 msgstr "Änderungen speichern?"
 
-#: mainui.py:99
+#: mainui.py:111
 msgid "Unsaved settings"
 msgstr "Nicht gespeicherte Einstellungen"
 
-#: mainui.py:100
+#: mainui.py:112
 msgid "Do you really want to quit? No changes will be saved"
 msgstr "Wollen Sie das Programm wirklich beenden? Änderungen werden nicht gesichert"
 
-#: mainui.py:219
+#: mainui.py:231
 msgid "Reload"
 msgstr "Neu laden"
 
-#: mainui.py:223 mainui.py:240
+#: mainui.py:235 mainui.py:252
 msgid "Save"
 msgstr "Speichern"
 
-#: mainui.py:238
+#: mainui.py:250
 msgid "File"
 msgstr "Datei"
 
-#: mainui.py:243
+#: mainui.py:255
 msgid "Quit"
 msgstr "Beenden"
 
-#: mainui.py:247
+#: mainui.py:259
 msgid "Language"
 msgstr "Sprache"
 
-#: mainui.py:253
+#: mainui.py:265
 msgid "Help"
 msgstr "Hilfe"
 
-#: mainui.py:256
+#: mainui.py:268
 msgid "About"
 msgstr "Über"
 
-#: mainui.py:325
+#: mainui.py:292
+msgid "UI for TLP written in Python/Gtk"
+msgstr "UI for TLP written in Python/Gtk"
+
+#: mainui.py:337
 msgid "Configuration"
 msgstr "Konfiguration"
 
-#: mainui.py:328
+#: mainui.py:340
 msgid "Statistics"
 msgstr "Statistiken"
diff --git a/tlpui/lang/en_EN/LC_MESSAGES/mainui.mo b/tlpui/lang/en_EN/LC_MESSAGES/mainui.mo
index 3ca9b62..b3acacc 100644
Binary files a/tlpui/lang/en_EN/LC_MESSAGES/mainui.mo and b/tlpui/lang/en_EN/LC_MESSAGES/mainui.mo differ
diff --git a/tlpui/lang/en_EN/LC_MESSAGES/mainui.po b/tlpui/lang/en_EN/LC_MESSAGES/mainui.po
index 6dee9c7..2a5099a 100644
--- a/tlpui/lang/en_EN/LC_MESSAGES/mainui.po
+++ b/tlpui/lang/en_EN/LC_MESSAGES/mainui.po
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: TLPUI\n"
-"POT-Creation-Date: 2023-12-25 16:33+0100\n"
-"PO-Revision-Date: 2023-12-25 16:33+0100\n"
+"POT-Creation-Date: 2024-01-02 19:12+0100\n"
+"PO-Revision-Date: 2024-01-02 19:12+0100\n"
 "Last-Translator: \n"
 "Language-Team: \n"
 "Language: en\n"
@@ -16,54 +16,58 @@ msgstr ""
 "X-Poedit-KeywordsList: MT_\n"
 "X-Poedit-SearchPath-0: mainui.py\n"
 
-#: mainui.py:75
+#: mainui.py:87
 msgid "Review settings"
 msgstr "Review settings"
 
-#: mainui.py:76
+#: mainui.py:88
 msgid "Save these changes?"
 msgstr "Save these changes?"
 
-#: mainui.py:99
+#: mainui.py:111
 msgid "Unsaved settings"
 msgstr "Unsaved settings"
 
-#: mainui.py:100
+#: mainui.py:112
 msgid "Do you really want to quit? No changes will be saved"
 msgstr "Do you really want to quit? No changes will be saved"
 
-#: mainui.py:219
+#: mainui.py:231
 msgid "Reload"
 msgstr "Reload"
 
-#: mainui.py:223 mainui.py:240
+#: mainui.py:235 mainui.py:252
 msgid "Save"
 msgstr "Save"
 
-#: mainui.py:238
+#: mainui.py:250
 msgid "File"
 msgstr "File"
 
-#: mainui.py:243
+#: mainui.py:255
 msgid "Quit"
 msgstr "Quit"
 
-#: mainui.py:247
+#: mainui.py:259
 msgid "Language"
 msgstr "Language"
 
-#: mainui.py:253
+#: mainui.py:265
 msgid "Help"
 msgstr "Help"
 
-#: mainui.py:256
+#: mainui.py:268
 msgid "About"
 msgstr "About"
 
-#: mainui.py:325
+#: mainui.py:292
+msgid "UI for TLP written in Python/Gtk"
+msgstr "UI for TLP written in Python/Gtk"
+
+#: mainui.py:337
 msgid "Configuration"
 msgstr "Configuration"
 
-#: mainui.py:328
+#: mainui.py:340
 msgid "Statistics"
 msgstr "Statistics"
diff --git a/tlpui/lang/es_ES/LC_MESSAGES/mainui.mo b/tlpui/lang/es_ES/LC_MESSAGES/mainui.mo
index 7dc0feb..5616b8a 100644
Binary files a/tlpui/lang/es_ES/LC_MESSAGES/mainui.mo and b/tlpui/lang/es_ES/LC_MESSAGES/mainui.mo differ
diff --git a/tlpui/lang/es_ES/LC_MESSAGES/mainui.po b/tlpui/lang/es_ES/LC_MESSAGES/mainui.po
index 66b82b2..c5a4089 100644
--- a/tlpui/lang/es_ES/LC_MESSAGES/mainui.po
+++ b/tlpui/lang/es_ES/LC_MESSAGES/mainui.po
@@ -2,8 +2,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: TLPUI\n"
-"POT-Creation-Date: 2023-12-25 16:37+0100\n"
-"PO-Revision-Date: 2023-12-25 16:38+0100\n"
+"POT-Creation-Date: 2024-01-02 19:14+0100\n"
+"PO-Revision-Date: 2024-01-02 19:14+0100\n"
 "Last-Translator: micrococo\n"
 "Language-Team: Spanish\n"
 "Language: es\n"
@@ -17,54 +17,58 @@ msgstr ""
 "X-Poedit-KeywordsList: MT_\n"
 "X-Poedit-SearchPath-0: mainui.py\n"
 
-#: mainui.py:75
+#: mainui.py:87
 msgid "Review settings"
 msgstr "Ver la configuración"
 
-#: mainui.py:76
+#: mainui.py:88
 msgid "Save these changes?"
 msgstr "¿Quiere guardar los cambios?"
 
-#: mainui.py:99
+#: mainui.py:111
 msgid "Unsaved settings"
 msgstr "Ajustes sin guardar"
 
-#: mainui.py:100
+#: mainui.py:112
 msgid "Do you really want to quit? No changes will be saved"
 msgstr "¿Seguro que quiere salir? No se guardará ningún cambio"
 
-#: mainui.py:219
+#: mainui.py:231
 msgid "Reload"
 msgstr "Recargar"
 
-#: mainui.py:223 mainui.py:240
+#: mainui.py:235 mainui.py:252
 msgid "Save"
 msgstr "Guardar"
 
-#: mainui.py:238
+#: mainui.py:250
 msgid "File"
 msgstr "Archivo"
 
-#: mainui.py:243
+#: mainui.py:255
 msgid "Quit"
 msgstr "Salir"
 
-#: mainui.py:247
+#: mainui.py:259
 msgid "Language"
 msgstr "Idioma"
 
-#: mainui.py:253
+#: mainui.py:265
 msgid "Help"
 msgstr "Help"
 
-#: mainui.py:256
+#: mainui.py:268
 msgid "About"
 msgstr "About"
 
-#: mainui.py:325
+#: mainui.py:292
+msgid "UI for TLP written in Python/Gtk"
+msgstr "UI for TLP written in Python/Gtk"
+
+#: mainui.py:337
 msgid "Configuration"
 msgstr "Configuración"
 
-#: mainui.py:328
+#: mainui.py:340
 msgid "Statistics"
 msgstr "Estadísticas"
diff --git a/tlpui/lang/fr_FR/LC_MESSAGES/mainui.mo b/tlpui/lang/fr_FR/LC_MESSAGES/mainui.mo
index 68c6d88..f0d5b3d 100644
Binary files a/tlpui/lang/fr_FR/LC_MESSAGES/mainui.mo and b/tlpui/lang/fr_FR/LC_MESSAGES/mainui.mo differ
diff --git a/tlpui/lang/fr_FR/LC_MESSAGES/mainui.po b/tlpui/lang/fr_FR/LC_MESSAGES/mainui.po
index 48ae392..b5b2766 100644
--- a/tlpui/lang/fr_FR/LC_MESSAGES/mainui.po
+++ b/tlpui/lang/fr_FR/LC_MESSAGES/mainui.po
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: TLPUI\n"
-"POT-Creation-Date: 2023-12-25 16:38+0100\n"
-"PO-Revision-Date: 2023-12-25 16:38+0100\n"
+"POT-Creation-Date: 2024-01-02 19:14+0100\n"
+"PO-Revision-Date: 2024-01-02 19:14+0100\n"
 "Last-Translator: \n"
 "Language-Team: Hellzevir\n"
 "Language: fr\n"
@@ -16,56 +16,60 @@ msgstr ""
 "X-Poedit-KeywordsList: MT_\n"
 "X-Poedit-SearchPath-0: mainui.py\n"
 
-#: mainui.py:75
+#: mainui.py:87
 msgid "Review settings"
 msgstr "Voir la configuration"
 
-#: mainui.py:76
+#: mainui.py:88
 msgid "Save these changes?"
 msgstr "Enregistrer les modifications ?"
 
-#: mainui.py:99
+#: mainui.py:111
 msgid "Unsaved settings"
 msgstr "Réglages non enregistrés"
 
-#: mainui.py:100
+#: mainui.py:112
 msgid "Do you really want to quit? No changes will be saved"
 msgstr ""
 "Voulez-vous vraiment quitter l'application ? Aucune modification ne sera "
 "enregistrée"
 
-#: mainui.py:219
+#: mainui.py:231
 msgid "Reload"
 msgstr "Recharger"
 
-#: mainui.py:223 mainui.py:240
+#: mainui.py:235 mainui.py:252
 msgid "Save"
 msgstr "Enregistrer"
 
-#: mainui.py:238
+#: mainui.py:250
 msgid "File"
 msgstr "Fichier"
 
-#: mainui.py:243
+#: mainui.py:255
 msgid "Quit"
 msgstr "Quitter"
 
-#: mainui.py:247
+#: mainui.py:259
 msgid "Language"
 msgstr "Langue"
 
-#: mainui.py:253
+#: mainui.py:265
 msgid "Help"
 msgstr "Help"
 
-#: mainui.py:256
+#: mainui.py:268
 msgid "About"
 msgstr "About"
 
-#: mainui.py:325
+#: mainui.py:292
+msgid "UI for TLP written in Python/Gtk"
+msgstr "UI for TLP written in Python/Gtk"
+
+#: mainui.py:337
 msgid "Configuration"
 msgstr "Configuration"
 
-#: mainui.py:328
+#: mainui.py:340
 msgid "Statistics"
 msgstr "Statistiques"
diff --git a/tlpui/lang/id_ID/LC_MESSAGES/mainui.mo b/tlpui/lang/id_ID/LC_MESSAGES/mainui.mo
index c562562..4cda0c7 100644
Binary files a/tlpui/lang/id_ID/LC_MESSAGES/mainui.mo and b/tlpui/lang/id_ID/LC_MESSAGES/mainui.mo differ
diff --git a/tlpui/lang/id_ID/LC_MESSAGES/mainui.po b/tlpui/lang/id_ID/LC_MESSAGES/mainui.po
index bd802ec..2206c3e 100644
--- a/tlpui/lang/id_ID/LC_MESSAGES/mainui.po
+++ b/tlpui/lang/id_ID/LC_MESSAGES/mainui.po
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: TLPUI\n"
-"POT-Creation-Date: 2023-12-25 16:39+0100\n"
-"PO-Revision-Date: 2023-12-25 16:39+0100\n"
+"POT-Creation-Date: 2024-01-02 19:14+0100\n"
+"PO-Revision-Date: 2024-01-02 19:14+0100\n"
 "Last-Translator: Sahri Riza Umami <riza@openmailbox.org>\n"
 "Language-Team: Bahasa Indonesia <riza@openmailbox.org>\n"
 "Language: id_ID\n"
@@ -16,54 +16,58 @@ msgstr ""
 "X-Poedit-KeywordsList: MT_\n"
 "X-Poedit-SearchPath-0: mainui.py\n"
 
-#: mainui.py:75
+#: mainui.py:87
 msgid "Review settings"
 msgstr "Review settings"
 
-#: mainui.py:76
+#: mainui.py:88
 msgid "Save these changes?"
 msgstr "Save these changes?"
 
-#: mainui.py:99
+#: mainui.py:111
 msgid "Unsaved settings"
 msgstr "Unsaved settings"
 
-#: mainui.py:100
+#: mainui.py:112
 msgid "Do you really want to quit? No changes will be saved"
 msgstr "Do you really want to quit? No changes will be saved"
 
-#: mainui.py:219
+#: mainui.py:231
 msgid "Reload"
 msgstr "Muat ulang"
 
-#: mainui.py:223 mainui.py:240
+#: mainui.py:235 mainui.py:252
 msgid "Save"
 msgstr "Simpan"
 
-#: mainui.py:238
+#: mainui.py:250
 msgid "File"
 msgstr "File"
 
-#: mainui.py:243
+#: mainui.py:255
 msgid "Quit"
 msgstr "Berhenti"
 
-#: mainui.py:247
+#: mainui.py:259
 msgid "Language"
 msgstr "Language"
 
-#: mainui.py:253
+#: mainui.py:265
 msgid "Help"
 msgstr "Help"
 
-#: mainui.py:256
+#: mainui.py:268
 msgid "About"
 msgstr "About"
 
-#: mainui.py:325
+#: mainui.py:292
+msgid "UI for TLP written in Python/Gtk"
+msgstr "UI for TLP written in Python/Gtk"
+
+#: mainui.py:337
 msgid "Configuration"
 msgstr "Configuration"
 
-#: mainui.py:328
+#: mainui.py:340
 msgid "Statistics"
 msgstr "Statistics"
diff --git a/tlpui/lang/pt_BR/LC_MESSAGES/mainui.mo b/tlpui/lang/pt_BR/LC_MESSAGES/mainui.mo
index be08d24..865cd87 100644
Binary files a/tlpui/lang/pt_BR/LC_MESSAGES/mainui.mo and b/tlpui/lang/pt_BR/LC_MESSAGES/mainui.mo differ
diff --git a/tlpui/lang/pt_BR/LC_MESSAGES/mainui.po b/tlpui/lang/pt_BR/LC_MESSAGES/mainui.po
index b34580f..2557355 100644
--- a/tlpui/lang/pt_BR/LC_MESSAGES/mainui.po
+++ b/tlpui/lang/pt_BR/LC_MESSAGES/mainui.po
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: TLPUI\n"
-"POT-Creation-Date: 2023-12-25 16:40+0100\n"
-"PO-Revision-Date: 2023-12-25 16:40+0100\n"
+"POT-Creation-Date: 2024-01-02 19:15+0100\n"
+"PO-Revision-Date: 2024-01-02 19:15+0100\n"
 "Last-Translator: tioguda <guda.flavio@gmail.com>\n"
 "Language-Team: Manjariando (manjariando@gmail.com)\n"
 "Language: pt_BR\n"
@@ -16,54 +16,58 @@ msgstr ""
 "X-Poedit-KeywordsList: MT_\n"
 "X-Poedit-SearchPath-0: mainui.py\n"
 
-#: mainui.py:75
+#: mainui.py:87
 msgid "Review settings"
 msgstr "Rever configurações"
 
-#: mainui.py:76
+#: mainui.py:88
 msgid "Save these changes?"
 msgstr "Salvar essas alterações?"
 
-#: mainui.py:99
+#: mainui.py:111
 msgid "Unsaved settings"
 msgstr "Configurações não salvas"
 
-#: mainui.py:100
+#: mainui.py:112
 msgid "Do you really want to quit? No changes will be saved"
 msgstr "Você realmente quer sair? Nenhuma alteração será salva"
 
-#: mainui.py:219
+#: mainui.py:231
 msgid "Reload"
 msgstr "Recarregar"
 
-#: mainui.py:223 mainui.py:240
+#: mainui.py:235 mainui.py:252
 msgid "Save"
 msgstr "Salvar"
 
-#: mainui.py:238
+#: mainui.py:250
 msgid "File"
 msgstr "Arquivo"
 
-#: mainui.py:243
+#: mainui.py:255
 msgid "Quit"
 msgstr "Sair"
 
-#: mainui.py:247
+#: mainui.py:259
 msgid "Language"
 msgstr "Idioma"
 
-#: mainui.py:253
+#: mainui.py:265
 msgid "Help"
 msgstr "Help"
 
-#: mainui.py:256
+#: mainui.py:268
 msgid "About"
 msgstr "About"
 
-#: mainui.py:325
+#: mainui.py:292
+msgid "UI for TLP written in Python/Gtk"
+msgstr "UI for TLP written in Python/Gtk"
+
+#: mainui.py:337
 msgid "Configuration"
 msgstr "Configuração"
 
-#: mainui.py:328
+#: mainui.py:340
 msgid "Statistics"
 msgstr "Estatisticas"
diff --git a/tlpui/lang/ru_RU/LC_MESSAGES/mainui.mo b/tlpui/lang/ru_RU/LC_MESSAGES/mainui.mo
index 98611b9..e4deb7b 100644
Binary files a/tlpui/lang/ru_RU/LC_MESSAGES/mainui.mo and b/tlpui/lang/ru_RU/LC_MESSAGES/mainui.mo differ
diff --git a/tlpui/lang/ru_RU/LC_MESSAGES/mainui.po b/tlpui/lang/ru_RU/LC_MESSAGES/mainui.po
index 0bc5124..e164978 100644
--- a/tlpui/lang/ru_RU/LC_MESSAGES/mainui.po
+++ b/tlpui/lang/ru_RU/LC_MESSAGES/mainui.po
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: TLPUI\n"
-"POT-Creation-Date: 2023-12-25 16:41+0100\n"
-"PO-Revision-Date: 2023-12-25 16:41+0100\n"
+"POT-Creation-Date: 2024-01-02 19:15+0100\n"
+"PO-Revision-Date: 2024-01-02 19:15+0100\n"
 "Last-Translator: \n"
 "Language-Team: Nitro138@mail.ru\n"
 "Language: ru_RU\n"
@@ -16,54 +16,58 @@ msgstr ""
 "X-Poedit-KeywordsList: MT_\n"
 "X-Poedit-SearchPath-0: mainui.py\n"
 
-#: mainui.py:75
+#: mainui.py:87
 msgid "Review settings"
 msgstr "Настройка просмотра"
 
-#: mainui.py:76
+#: mainui.py:88
 msgid "Save these changes?"
 msgstr "Сохранить эти изменения?"
 
-#: mainui.py:99
+#: mainui.py:111
 msgid "Unsaved settings"
 msgstr "Несохранённые изменения"
 
-#: mainui.py:100
+#: mainui.py:112
 msgid "Do you really want to quit? No changes will be saved"
 msgstr "Вы действительно хотите выйти? Никакие изменения не будут сохранены"
 
-#: mainui.py:219
+#: mainui.py:231
 msgid "Reload"
 msgstr "Восстановить настройки"
 
-#: mainui.py:223 mainui.py:240
+#: mainui.py:235 mainui.py:252
 msgid "Save"
 msgstr "Сохранить"
 
-#: mainui.py:238
+#: mainui.py:250
 msgid "File"
 msgstr "Файл"
 
-#: mainui.py:243
+#: mainui.py:255
 msgid "Quit"
 msgstr "Выход"
 
-#: mainui.py:247
+#: mainui.py:259
 msgid "Language"
 msgstr "Язык"
 
-#: mainui.py:253
+#: mainui.py:265
 msgid "Help"
 msgstr "Help"
 
-#: mainui.py:256
+#: mainui.py:268
 msgid "About"
 msgstr "About"
 
-#: mainui.py:325
+#: mainui.py:292
+msgid "UI for TLP written in Python/Gtk"
+msgstr "UI for TLP written in Python/Gtk"
+
+#: mainui.py:337
 msgid "Configuration"
 msgstr "Конфигурация"
 
-#: mainui.py:328
+#: mainui.py:340
 msgid "Statistics"
 msgstr "Статистика"
diff --git a/tlpui/lang/tr_TR/LC_MESSAGES/mainui.mo b/tlpui/lang/tr_TR/LC_MESSAGES/mainui.mo
index 315d64e..7b35a54 100644
Binary files a/tlpui/lang/tr_TR/LC_MESSAGES/mainui.mo and b/tlpui/lang/tr_TR/LC_MESSAGES/mainui.mo differ
diff --git a/tlpui/lang/tr_TR/LC_MESSAGES/mainui.po b/tlpui/lang/tr_TR/LC_MESSAGES/mainui.po
index d82409f..7f0bfb7 100644
--- a/tlpui/lang/tr_TR/LC_MESSAGES/mainui.po
+++ b/tlpui/lang/tr_TR/LC_MESSAGES/mainui.po
@@ -4,8 +4,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: TLPUI\n"
-"POT-Creation-Date: 2023-12-25 16:41+0100\n"
-"PO-Revision-Date: 2023-12-25 16:41+0100\n"
+"POT-Creation-Date: 2024-01-02 19:15+0100\n"
+"PO-Revision-Date: 2024-01-02 19:15+0100\n"
 "Last-Translator: Muhammet Emin AKALAN <05akalan57@gmail.com>\n"
 "Language-Team: Turkish <05akalan57@gmail.com>\n"
 "Language: tr\n"
@@ -19,54 +19,58 @@ msgstr ""
 "X-Poedit-KeywordsList: MT_\n"
 "X-Poedit-SearchPath-0: mainui.py\n"
 
-#: mainui.py:75
+#: mainui.py:87
 msgid "Review settings"
 msgstr "Ayarları inceleyin"
 
-#: mainui.py:76
+#: mainui.py:88
 msgid "Save these changes?"
 msgstr "Bu değişiklikler kaydedilsin mi?"
 
-#: mainui.py:99
+#: mainui.py:111
 msgid "Unsaved settings"
 msgstr "Kaydedilmemiş ayarlar"
 
-#: mainui.py:100
+#: mainui.py:112
 msgid "Do you really want to quit? No changes will be saved"
 msgstr "Gerçekten çıkmak istiyor musun? Hiçbir değişiklik kaydedilmeyecek"
 
-#: mainui.py:219
+#: mainui.py:231
 msgid "Reload"
 msgstr "Yenile"
 
-#: mainui.py:223 mainui.py:240
+#: mainui.py:235 mainui.py:252
 msgid "Save"
 msgstr "Kaydet"
 
-#: mainui.py:238
+#: mainui.py:250
 msgid "File"
 msgstr "Dosya"
 
-#: mainui.py:243
+#: mainui.py:255
 msgid "Quit"
 msgstr "Çıkış"
 
-#: mainui.py:247
+#: mainui.py:259
 msgid "Language"
 msgstr "Dil"
 
-#: mainui.py:253
+#: mainui.py:265
 msgid "Help"
 msgstr "Help"
 
-#: mainui.py:256
+#: mainui.py:268
 msgid "About"
 msgstr "About"
 
-#: mainui.py:325
+#: mainui.py:292
+msgid "UI for TLP written in Python/Gtk"
+msgstr "UI for TLP written in Python/Gtk"
+
+#: mainui.py:337
 msgid "Configuration"
 msgstr "Ayarlar"
 
-#: mainui.py:328
+#: mainui.py:340
 msgid "Statistics"
 msgstr "İstatistik"
diff --git a/tlpui/lang/zh_CN/LC_MESSAGES/mainui.mo b/tlpui/lang/zh_CN/LC_MESSAGES/mainui.mo
index 96c91d5..bd1a8e7 100644
Binary files a/tlpui/lang/zh_CN/LC_MESSAGES/mainui.mo and b/tlpui/lang/zh_CN/LC_MESSAGES/mainui.mo differ
diff --git a/tlpui/lang/zh_CN/LC_MESSAGES/mainui.po b/tlpui/lang/zh_CN/LC_MESSAGES/mainui.po
index 43564e5..47e5fb3 100644
--- a/tlpui/lang/zh_CN/LC_MESSAGES/mainui.po
+++ b/tlpui/lang/zh_CN/LC_MESSAGES/mainui.po
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: TLPUI\n"
-"POT-Creation-Date: 2023-12-25 16:42+0100\n"
-"PO-Revision-Date: 2023-12-25 16:42+0100\n"
+"POT-Creation-Date: 2024-01-02 19:15+0100\n"
+"PO-Revision-Date: 2024-01-02 19:16+0100\n"
 "Last-Translator: WhiredPlanck <fungdaat31@outlook.com>\n"
 "Language-Team: \n"
 "Language: zh_CN\n"
@@ -16,54 +16,58 @@ msgstr ""
 "X-Poedit-KeywordsList: MT_\n"
 "X-Poedit-SearchPath-0: mainui.py\n"
 
-#: mainui.py:75
+#: mainui.py:87
 msgid "Review settings"
 msgstr "检查设定"
 
-#: mainui.py:76
+#: mainui.py:88
 msgid "Save these changes?"
 msgstr "要保存这些更改吗？"
 
-#: mainui.py:99
+#: mainui.py:111
 msgid "Unsaved settings"
 msgstr "未保存的设定"
 
-#: mainui.py:100
+#: mainui.py:112
 msgid "Do you really want to quit? No changes will be saved"
 msgstr "确定要退出吗？不会保存任何更改"
 
-#: mainui.py:219
+#: mainui.py:231
 msgid "Reload"
 msgstr "重新加载"
 
-#: mainui.py:223 mainui.py:240
+#: mainui.py:235 mainui.py:252
 msgid "Save"
 msgstr "保存"
 
-#: mainui.py:238
+#: mainui.py:250
 msgid "File"
 msgstr "文件"
 
-#: mainui.py:243
+#: mainui.py:255
 msgid "Quit"
 msgstr "退出"
 
-#: mainui.py:247
+#: mainui.py:259
 msgid "Language"
 msgstr "语言"
 
-#: mainui.py:253
+#: mainui.py:265
 msgid "Help"
 msgstr "Help"
 
-#: mainui.py:256
+#: mainui.py:268
 msgid "About"
 msgstr "About"
 
-#: mainui.py:325
+#: mainui.py:292
+msgid "UI for TLP written in Python/Gtk"
+msgstr "UI for TLP written in Python/Gtk"
+
+#: mainui.py:337
 msgid "Configuration"
 msgstr "配置"
 
-#: mainui.py:328
+#: mainui.py:340
 msgid "Statistics"
 msgstr "情况统计"
diff --git a/tlpui/lang/zh_TW/LC_MESSAGES/mainui.mo b/tlpui/lang/zh_TW/LC_MESSAGES/mainui.mo
index be7d2e7..a28b1f1 100644
Binary files a/tlpui/lang/zh_TW/LC_MESSAGES/mainui.mo and b/tlpui/lang/zh_TW/LC_MESSAGES/mainui.mo differ
diff --git a/tlpui/lang/zh_TW/LC_MESSAGES/mainui.po b/tlpui/lang/zh_TW/LC_MESSAGES/mainui.po
index c3b9c8d..029ba29 100644
--- a/tlpui/lang/zh_TW/LC_MESSAGES/mainui.po
+++ b/tlpui/lang/zh_TW/LC_MESSAGES/mainui.po
@@ -1,8 +1,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: TLPUI\n"
-"POT-Creation-Date: 2023-12-25 16:43+0100\n"
-"PO-Revision-Date: 2023-12-25 16:43+0100\n"
+"POT-Creation-Date: 2024-01-02 19:16+0100\n"
+"PO-Revision-Date: 2024-01-02 19:16+0100\n"
 "Last-Translator: WhiredPlanck <fungdaat31@outlook.com>\n"
 "Language-Team: \n"
 "Language: zh_TW\n"
@@ -16,54 +16,58 @@ msgstr ""
 "X-Poedit-KeywordsList: MT_\n"
 "X-Poedit-SearchPath-0: mainui.py\n"
 
-#: mainui.py:75
+#: mainui.py:87
 msgid "Review settings"
 msgstr "檢查設定"
 
-#: mainui.py:76
+#: mainui.py:88
 msgid "Save these changes?"
 msgstr "要儲存這些更改嗎？"
 
-#: mainui.py:99
+#: mainui.py:111
 msgid "Unsaved settings"
 msgstr "未儲存的設定"
 
-#: mainui.py:100
+#: mainui.py:112
 msgid "Do you really want to quit? No changes will be saved"
 msgstr "確定要退出嗎？不會儲存任何更改"
 
-#: mainui.py:219
+#: mainui.py:231
 msgid "Reload"
 msgstr "重新載入"
 
-#: mainui.py:223 mainui.py:240
+#: mainui.py:235 mainui.py:252
 msgid "Save"
 msgstr "儲存"
 
-#: mainui.py:238
+#: mainui.py:250
 msgid "File"
 msgstr "文件"
 
-#: mainui.py:243
+#: mainui.py:255
 msgid "Quit"
 msgstr "退出"
 
-#: mainui.py:247
+#: mainui.py:259
 msgid "Language"
 msgstr "語言"
 
-#: mainui.py:253
+#: mainui.py:265
 msgid "Help"
 msgstr "Help"
 
-#: mainui.py:256
+#: mainui.py:268
 msgid "About"
 msgstr "About"
 
-#: mainui.py:325
+#: mainui.py:292
+msgid "UI for TLP written in Python/Gtk"
+msgstr "UI for TLP written in Python/Gtk"
+
+#: mainui.py:337
 msgid "Configuration"
 msgstr "配置"
 
-#: mainui.py:328
+#: mainui.py:340
 msgid "Statistics"
 msgstr "情況統計"
diff --git a/tlpui/language.py b/tlpui/language.py
index 4c0e8a9..249fb21 100644
--- a/tlpui/language.py
+++ b/tlpui/language.py
@@ -8,7 +8,7 @@ def load_lang(langfile):
     """Load language from file."""
     translation = gettext.translation(langfile, settings.langdir, [settings.userconfig.language])
 
-    versionlangfile = "{}{}".format(langfile, settings.tlpbaseversion)
+    versionlangfile = f"{langfile}{settings.tlpbaseversion}"
     if gettext.find(versionlangfile, settings.langdir, [settings.userconfig.language]) is None:
         return translation.gettext
 
diff --git a/tlpui/mainui.py b/tlpui/mainui.py
index 9b174f5..6f67459 100644
--- a/tlpui/mainui.py
+++ b/tlpui/mainui.py
@@ -1,7 +1,9 @@
 """Provide main window parts for TLPUI."""
 
 import importlib
+import importlib.metadata
 import difflib
+import toml
 
 from pathlib import Path
 from gi.repository import Gtk, Gdk, GdkPixbuf
@@ -11,7 +13,18 @@
 from .file import init_tlp_file_config, create_tmp_tlp_config_file, write_tlp_config, get_changed_properties
 from .statui import create_stat_box
 from .uihelper import get_flag_image, get_theme_image
-from . import __version__
+
+
+def get_app_version() -> str:
+    """Get TLP-UI version."""
+    try:
+        return importlib.metadata.version("tlpui")
+    except importlib.metadata.PackageNotFoundError:
+        try:
+            pyproject = toml.load(Path(__file__).parent.parent / "pyproject.toml")
+            return pyproject["tool"]["poetry"]["version"]
+        except FileNotFoundError:
+            return ""
 
 
 def reset_scroll_position() -> None:
@@ -29,7 +42,7 @@ def window_key_events(self, event) -> None:
     """Add window key events like crtl+(q|w|s)."""
     if event.state & Gdk.ModifierType.CONTROL_MASK:
         # close window with ctrl+q or ctrl+w
-        if event.keyval == 113 or event.keyval == 119:
+        if event.keyval in (113, 119):
             quit_tlp_config(None, self)
         # save config with ctrl+s
         if event.keyval == 115:
@@ -115,8 +128,10 @@ def changed_items_dialog(window, tmpfilename: str, dialogtitle: str, message: st
     scrolledwindow.set_hexpand(True)
     scrolledwindow.set_vexpand(True)
 
-    fromfilecontent = open(settings.tlpconfigfile, 'r').readlines()
-    tofilecontent = open(tmpfilename, 'r').readlines()
+    with open(settings.tlpconfigfile, encoding='utf-8') as fromfile:
+        fromfilecontent = fromfile.readlines()
+    with open(tmpfilename, encoding='utf-8') as tofile:
+        tofilecontent = tofile.readlines()
     diff = settings.tlpbaseconfigfile + '\n\n'
     for line in difflib.unified_diff(fromfilecontent, tofilecontent, n=0, lineterm=''):
         if line.startswith('---') or line.startswith('+++'):
@@ -136,7 +151,7 @@ def changed_items_dialog(window, tmpfilename: str, dialogtitle: str, message: st
 
     box = dialog.get_content_area()
     box.pack_start(scrolledwindow, True, True, 0)
-    box.pack_start(Gtk.Label('\n{}\n'.format(message)), False, False, 0)
+    box.pack_start(Gtk.Label(f'\n{message}\n'), False, False, 0)
 
     dialog.show_all()
     response = dialog.run()
@@ -214,7 +229,7 @@ def repack_language_menuitem(menuitem: Gtk.MenuItem):
 
 def create_settings_box(window) -> Gtk.Box:
     """Buttons for direct access in UI."""
-    fileentrylabel = Gtk.Label(settings.tlpbaseconfigfile)
+    fileentrylabel = Gtk.Label(f"TLP {settings.tlpversion} - {settings.tlpbaseconfigfile}")
     fileentrylabel.set_alignment(0, 0.5)
     reloadbutton = Gtk.Button(label=' ' + language.MT_('Reload'),
                               image=get_theme_image('view-refresh-symbolic', Gtk.IconSize.BUTTON))
@@ -274,12 +289,12 @@ def add_menu_actions(window, actiongroup) -> None:
 def show_about_dialog(self):
     """Applications about dialog."""
     aboutdialog = Gtk.AboutDialog()
-    aboutdialog.set_title("TLPUI")
+    aboutdialog.set_title("TLP-UI")
     aboutdialog.set_name("name")
-    aboutdialog.set_version(__version__)
-    aboutdialog.set_comments("UI for TLP written in Python/GTK")
+    aboutdialog.set_version(get_app_version())
+    aboutdialog.set_comments(language.MT_("UI for TLP written in Python/Gtk"))
     aboutdialog.set_website("https://github.com/d4nj1/TLPUI")
-    aboutdialog.set_website_label("TLPUI on GitHub")
+    aboutdialog.set_website_label("TLP-UI @ GitHub")
     aboutdialog.set_authors(["Daniel Christophis"])
     aboutdialog.set_translator_credits("Muhammet Emin AKALAN (05akalan57@gmail.com)")
     aboutdialog.set_license_type(Gtk.License.GPL_2_0)
diff --git a/tlpui/settings.py b/tlpui/settings.py
index 35f0030..1befd98 100644
--- a/tlpui/settings.py
+++ b/tlpui/settings.py
@@ -21,10 +21,11 @@
 userconfig = settingshelper.UserConfig()
 
 # runtime params
-tlpbaseversion = settingshelper.get_installed_major_minor_version()
-tlpbaseconfigfile = settingshelper.get_tlp_config_file(tlpbaseversion, "")
-tlpconfigfile = settingshelper.get_tlp_config_file(tlpbaseversion, FOLDER_PREFIX)
-tlpconfig = dict()
-tlpconfig_original = dict()
-tlpconfig_defaults = dict()
+tlpversion = settingshelper.get_installed_tlp_version()
+tlpbaseversion = tlpversion.replace(".", "_")[0:3]
+tlpbaseconfigfile = settingshelper.get_tlp_config_file("")
+tlpconfigfile = settingshelper.get_tlp_config_file(FOLDER_PREFIX)
+tlpconfig = {}
+tlpconfig_original = {}
+tlpconfig_defaults = {}
 active_scroll = None
diff --git a/tlpui/settingshelper.py b/tlpui/settingshelper.py
index 1454e14..69481c0 100644
--- a/tlpui/settingshelper.py
+++ b/tlpui/settingshelper.py
@@ -18,10 +18,8 @@ def exec_command(commands: [str]):
         errorui.show_dialog(error)
 
 
-def get_tlp_config_file(version: str, prefix: str) -> str:
-    """Select tlp config file path by version."""
-    if version in ["0_8", "0_9", "1_0", "1_1", "1_2"]:
-        return f"{prefix}/etc/default/tlp"
+def get_tlp_config_file(prefix: str) -> str:
+    """Select tlp config file by prefix."""
     return f"{prefix}/etc/tlp.conf"
 
 
@@ -47,13 +45,7 @@ def get_installed_tlp_version() -> str:
     pattern = re.compile(r"TLP ([^\s]+)")
     currentconfig = exec_command(["tlp-stat", "-c"])
     matcher = pattern.search(currentconfig)
-    version = matcher.group(1).replace(".", "_")
-    return version
-
-
-def get_installed_major_minor_version() -> str:
-    """Fetch tlp major and minor version."""
-    return get_installed_tlp_version()[0:3]
+    return matcher.group(1)
 
 
 def get_user_config_file() -> Path:
@@ -84,7 +76,7 @@ def read_user_config(self):
         """Read ui config parameters from user home."""
         if self.userconfigfile.exists():
             config = configparser.ConfigParser()
-            with open(str(self.userconfigfile)) as configfile:
+            with open(str(self.userconfigfile), encoding='utf-8') as configfile:
                 config.read_file(configfile)
             try:
                 self.language = config['default']['language']
@@ -110,5 +102,5 @@ def write_user_config(self):
         config['default']['activeposition'] = str(self.activeposition)
         config['default']['windowxsize'] = str(self.windowxsize)
         config['default']['windowysize'] = str(self.windowysize)
-        with open(str(self.userconfigfile), 'w') as configfile:
+        with open(str(self.userconfigfile), mode='w', encoding='utf-8') as configfile:
             config.write(configfile)
diff --git a/tlpui/statui.py b/tlpui/statui.py
index 82f4085..5b288b0 100644
--- a/tlpui/statui.py
+++ b/tlpui/statui.py
@@ -44,12 +44,12 @@ def create_stat_box() -> Gtk.Box:
 
     emptylabel = Gtk.Label()
 
-    fetchsimplebutton = Gtk.Button(label=' {}'.format(language.ST_('Simple')),
+    fetchsimplebutton = Gtk.Button(label=f" {language.ST_('Simple')}",
                                    image=get_theme_image('dialog-information-symbolic', Gtk.IconSize.BUTTON))
     fetchsimplebutton.connect('clicked', fetch_simple_stats, textbuffer)
     fetchsimplebutton.set_always_show_image(True)
 
-    fetchcompletebutton = Gtk.Button(label=' {}'.format(language.ST_('Complete')),
+    fetchcompletebutton = Gtk.Button(label=f" {language.ST_('Complete')}",
                                      image=get_theme_image('format-indent-more-symbolic', Gtk.IconSize.BUTTON))
     fetchcompletebutton.connect('clicked', fetch_complete_stats, textbuffer)
     fetchcompletebutton.set_always_show_image(True)
diff --git a/tlpui/ui_config_objects/gtkdisklist.py b/tlpui/ui_config_objects/gtkdisklist.py
index df382a4..6ba4a8c 100644
--- a/tlpui/ui_config_objects/gtkdisklist.py
+++ b/tlpui/ui_config_objects/gtkdisklist.py
@@ -256,7 +256,7 @@ def get_disk_config_ranges():
     spindownrangetimeoutbat = ''
     ioschedvalues = ''
 
-    categories = file.get_json_schema_object('categories')
+    categories = file.get_yaml_schema_object('categories')
     for category in categories:
         if category['name'] != 'Disks':
             continue
diff --git a/tlpui/uihelper.py b/tlpui/uihelper.py
index 1756877..69d4e27 100644
--- a/tlpui/uihelper.py
+++ b/tlpui/uihelper.py
@@ -59,7 +59,7 @@ def __init__(self, defaultvalue, defaultstate, stateimage: Gtk.Image):
     def warn_unknown_config_value(self, configvalue: str) -> None:
         """Add image and tooltip for unknown values."""
         self.stateimage.set_from_icon_name(constants.ICON_NAME_WARNING, Gtk.IconSize.BUTTON)
-        self.stateimage.set_tooltip_text('{}: {}'.format(UNKNOWN_CONFIG_VALUE_TEXT, configvalue))
+        self.stateimage.set_tooltip_text(f'{UNKNOWN_CONFIG_VALUE_TEXT}: {configvalue}')
 
     def refresh(self, value: str, store: str, enabled: bool, enabledstore: bool) -> None:
         """Refresh image and description by changed state."""
@@ -69,31 +69,31 @@ def refresh(self, value: str, store: str, enabled: bool, enabledstore: bool) ->
 
         enabledtext = ''
         if enabled != self.defaultstate:
-            enabledtext += '{} {}'.format(DEFAULT_STATE_TEXT, str(self.defaultstate))
+            enabledtext += f'{DEFAULT_STATE_TEXT} {str(self.defaultstate)}'
 
         if value == self.defaultvalue:
             if not changed and enabledtext == '':
                 self.stateimage.clear()
             elif not changed and enabledtext != '':
                 self.stateimage.set_from_icon_name(constants.ICON_NAME_INFO, Gtk.IconSize.BUTTON)
-                self.stateimage.set_tooltip_text('{}'.format(enabledtext))
+                self.stateimage.set_tooltip_text(f'{enabledtext}')
             elif changed and enabledtext == '':
                 self.stateimage.set_from_icon_name(constants.ICON_NAME_UNDO, Gtk.IconSize.BUTTON)
-                self.stateimage.set_tooltip_text('{}'.format(CHANGED_STATE_TEXT))
+                self.stateimage.set_tooltip_text(f'{CHANGED_STATE_TEXT}')
             elif changed and enabledtext != '':
                 self.stateimage.set_from_icon_name(constants.ICON_NAME_UNDO, Gtk.IconSize.BUTTON)
-                self.stateimage.set_tooltip_text('{}\n{}'.format(CHANGED_STATE_TEXT, enabledtext))
+                self.stateimage.set_tooltip_text(f'{CHANGED_STATE_TEXT}\n{enabledtext}')
         else:
-            defaulttext = '{} {}'.format(DEFAULT_VALUE_TEXT, self.defaultvalue)
+            defaulttext = f'{DEFAULT_VALUE_TEXT} {self.defaultvalue}'
             if not changed and enabledtext == '':
                 self.stateimage.set_from_icon_name(constants.ICON_NAME_INFO, Gtk.IconSize.BUTTON)
                 self.stateimage.set_tooltip_text(defaulttext)
             elif not changed and enabledtext != '':
                 self.stateimage.set_from_icon_name(constants.ICON_NAME_INFO, Gtk.IconSize.BUTTON)
-                self.stateimage.set_tooltip_text('{}\n{}'.format(enabledtext, defaulttext))
+                self.stateimage.set_tooltip_text(f'{enabledtext}\n{defaulttext}')
             elif changed and enabledtext == '':
                 self.stateimage.set_from_icon_name(constants.ICON_NAME_UNDO, Gtk.IconSize.BUTTON)
-                self.stateimage.set_tooltip_text('{}\n{}'.format(CHANGED_STATE_TEXT, defaulttext))
+                self.stateimage.set_tooltip_text(f'{CHANGED_STATE_TEXT}\n{defaulttext}')
             elif changed and enabledtext != '':
                 self.stateimage.set_from_icon_name(constants.ICON_NAME_UNDO, Gtk.IconSize.BUTTON)
-                self.stateimage.set_tooltip_text('{}\n{}\n{}'.format(CHANGED_STATE_TEXT, enabledtext, defaulttext))
+                self.stateimage.set_tooltip_text(f'{CHANGED_STATE_TEXT}\n{enabledtext}\n{defaulttext}')
diff --git a/tox.ini b/tox.ini
index 88e2528..aa481f7 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,26 +1,45 @@
 [tox]
-envlist = py3, pycodestyle, pydocstyle
+requires = tox>=4
+isolated_build = true
+env_list =
+    py3{8,9,10,11,12}
+    pycodestyle
+    pydocstyle
 
 [testenv]
-basepython = python3
-changedir = test
-commands = discover
-deps = discover
+description = Run tests with pytest
+skip_install = true
+allowlist_externals = poetry
+commands_pre =
+    poetry install
+commands =
+    poetry run pytest --cov=tlpui tests
 
 [testenv:pycodestyle]
-deps = pycodestyle
-changedir = tlpui
-commands = pycodestyle .
+description = Run codestyle checks
+skip_install = true
+allowlist_externals = poetry
+commands_pre =
+    poetry install
+commands =
+    poetry run pycodestyle -v tlpui
 
 [testenv:pydocstyle]
-deps = pydocstyle
-changedir = tlpui
-commands = pydocstyle .
+description = Run docstyle checks
+skip_install = true
+allowlist_externals = poetry
+commands_pre =
+    poetry install
+commands =
+    poetry run pydocstyle -v tlpui
 
 [testenv:pylint]
-deps = pylint
-       PyGObject
-commands = pylint --disable=C0413,C0411 --max-line-length=120 {toxinidir}/tlpui
+description = Run pylint checks
+skip_install = true
+commands_pre =
+    poetry install
+commands =
+    poetry run pylint --disable=C0413,C0411 --max-line-length=120 tlpui
 
 [pycodestyle]
 ignore = E402
diff --git a/tlpui/lang/extractLocaleStringsFromSchema.py b/translationStringsExtractor.py
similarity index 63%
rename from tlpui/lang/extractLocaleStringsFromSchema.py
rename to translationStringsExtractor.py
index b651cd2..e84c2b9 100644
--- a/tlpui/lang/extractLocaleStringsFromSchema.py
+++ b/translationStringsExtractor.py
@@ -1,20 +1,12 @@
 """This module provides helper functions for refreshing config PO files."""
 
-from io import open
-from json import load
 import os
+from io import open
+from tlpui.filehelper import get_yaml_schema_object_from_file
 
 lastvalue = ''
 
 
-def get_json_schema_object_from_file(objectname: str, filename: str) -> dict:
-    """Fetch json objects from schema file."""
-    jsonfile = open(filename)
-    jsonobject = load(jsonfile)
-    jsonfile.close()
-    return jsonobject[objectname]
-
-
 def add_to_list(listobject: list, value: str):
     """Add values to list."""
     global lastvalue
@@ -29,19 +21,20 @@ def add_to_list(listobject: list, value: str):
 
 
 def create_translateable_strings_header_file():
-    """Extract items for translation from configschema.json and puts them in new file with header extension.
+    """Extract translation items from configschema/*.yaml and put them into a new file with header extension.
+
+    Poedit and other po-tools do not support YAML files right now.
+    It should be called any time yaml files get added or updated.
 
-    Poedit and other po-tools do not support JSON files right now.
-    It should be called any time configschema.json changes and translation needs to be updated.
-    Change configschema.json -> run this script -> update po files from source with utility (e.g. poedit).
+    Update or add VERSION.yaml -> run this script -> update po files from header source with utility (e.g. poedit).
     """
     translateobjects = list()
 
-    for file in os.listdir('../configschema'):
-        if not file.endswith('.json'):
+    for file in os.listdir('tlpui/configschema'):
+        if not file.endswith('.yaml'):
             continue
 
-        categories = get_json_schema_object_from_file('categories', '../configschema/' + file)
+        categories = get_yaml_schema_object_from_file('categories', 'tlpui/configschema/' + file)
 
         for category in categories:
             add_to_list(translateobjects, category['name'] + '__CATEGORY_TITLE')
@@ -57,7 +50,7 @@ def create_translateable_strings_header_file():
                     # add_to_list(translateobjects, config['id'] + '__ID_TITLE')
                     add_to_list(translateobjects, config['id'] + '__ID_DESCRIPTION')
 
-    newfile = open('configschema.json.h', 'w+')
+    newfile = open('tlpui/lang/configschema.yaml.h', 'w+')
     for item in translateobjects:
         newfile.write('_(\"' + item + '\");\n')
     newfile.close()


Test patch:
diff --git a/test/test_tlp_configs.py b/test/test_tlp_configs.py
deleted file mode 100644
index e603440..0000000
--- a/test/test_tlp_configs.py
+++ /dev/null
@@ -1,91 +0,0 @@
-import unittest
-from tlpui.filehelper import extract_default_tlp_configs, get_json_schema_object_from_file
-from os import path
-
-tlpuipath = f"{path.dirname(path.abspath(__file__))}/../tlpui"
-
-
-def get_config_count(categories):
-    configcount = 0
-    for category in categories:
-        configs = category['configs']
-        for config in configs:
-            if 'group' in config:
-                groupitems = config['ids']
-                configcount += len(groupitems)
-            else:
-                configcount += 1
-    return configcount
-
-
-class TlpConfigTest:
-    jsoncategories_count = 0
-    tlpconfig_count = 0
-    jsonconfig_count = 0
-
-    def __init__(self, version: str):
-        jsoncategories = get_json_schema_object_from_file('categories', f'{tlpuipath}/configschema/{version}.json')
-        self.jsoncategories_count = len(jsoncategories)
-        self.tlpconfig_count = len(extract_default_tlp_configs(f'{tlpuipath}/defaults/tlp-{version}.conf'))
-        self.jsonconfig_count = get_config_count(jsoncategories)
-
-
-class MyTestCase(unittest.TestCase):
-
-    def test_tlp_version_0_8(self):
-        config_test = TlpConfigTest('0_8')
-        assert config_test.jsoncategories_count == 11
-        assert config_test.tlpconfig_count == 80
-        assert config_test.tlpconfig_count == config_test.jsonconfig_count
-
-    def test_tlp_version_0_9(self):
-        config_test = TlpConfigTest('0_9')
-        assert config_test.jsoncategories_count == 11
-        assert config_test.tlpconfig_count == 84
-        assert config_test.tlpconfig_count == config_test.jsonconfig_count
-
-    def test_tlp_version_1_0(self):
-        config_test = TlpConfigTest('1_0')
-        assert config_test.jsoncategories_count == 11
-        assert config_test.tlpconfig_count == 90
-        assert config_test.tlpconfig_count == config_test.jsonconfig_count
-
-    def test_tlp_version_1_1(self):
-        config_test = TlpConfigTest('1_1')
-        assert config_test.jsoncategories_count == 11
-        assert config_test.tlpconfig_count == 91
-        assert config_test.tlpconfig_count == config_test.jsonconfig_count
-
-    def test_tlp_version_1_2(self):
-        config_test = TlpConfigTest('1_2')
-        assert config_test.jsoncategories_count == 11
-        assert config_test.tlpconfig_count == 100
-        assert config_test.tlpconfig_count == config_test.jsonconfig_count
-
-    def test_tlp_version_1_3(self):
-        config_test = TlpConfigTest('1_3')
-        assert config_test.jsoncategories_count == 11
-        assert config_test.tlpconfig_count == 99
-        assert config_test.tlpconfig_count == config_test.jsonconfig_count
-
-    def test_tlp_version_1_4(self):
-        config_test = TlpConfigTest('1_4')
-        assert config_test.jsoncategories_count == 11
-        assert config_test.tlpconfig_count == 107
-        assert config_test.tlpconfig_count == config_test.jsonconfig_count
-
-    def test_tlp_version_1_5(self):
-        config_test = TlpConfigTest('1_5')
-        assert config_test.jsoncategories_count == 11
-        assert config_test.tlpconfig_count == 107
-        assert config_test.tlpconfig_count == config_test.jsonconfig_count
-
-    def test_tlp_version_1_6(self):
-        config_test = TlpConfigTest('1_6')
-        assert config_test.jsoncategories_count == 11
-        assert config_test.tlpconfig_count == 109
-        assert config_test.tlpconfig_count == config_test.jsonconfig_count
-
-
-if __name__ == '__main__':
-    unittest.main()
diff --git a/test/__init__.py b/tests/__init__.py
similarity index 100%
rename from test/__init__.py
rename to tests/__init__.py
diff --git a/tests/test_tlp_configs.py b/tests/test_tlp_configs.py
new file mode 100644
index 0000000..e655713
--- /dev/null
+++ b/tests/test_tlp_configs.py
@@ -0,0 +1,63 @@
+from tlpui.filehelper import extract_default_tlp_configs, get_yaml_schema_object_from_file
+from os import path
+
+
+def get_config_count(categories):
+    configcount = 0
+    for category in categories:
+        configs = category['configs']
+        for config in configs:
+            if 'group' in config:
+                groupitems = config['ids']
+                configcount += len(groupitems)
+            else:
+                configcount += 1
+    return configcount
+
+
+class TlpConfigTest:
+    jsoncategories_count = 0
+    tlpconfig_count = 0
+    yamlconfig_count = 0
+
+    def __init__(self, version: str):
+        tlpuipath = f"{path.dirname(path.abspath(__file__))}/../tlpui"
+        jsoncategories = get_yaml_schema_object_from_file('categories', f'{tlpuipath}/configschema/{version}.yaml')
+        self.jsoncategories_count = len(jsoncategories)
+        self.tlpconfig_count = len(extract_default_tlp_configs(f'{tlpuipath}/defaults/tlp-{version}.conf'))
+        self.yamlconfig_count = get_config_count(jsoncategories)
+
+
+def test_tlp_version_1_3():
+    config_test = TlpConfigTest('1_3')
+    assert config_test.jsoncategories_count == 11
+    assert config_test.tlpconfig_count == 99
+    assert config_test.tlpconfig_count == config_test.yamlconfig_count
+
+
+def test_tlp_version_1_4():
+    config_test = TlpConfigTest('1_4')
+    assert config_test.jsoncategories_count == 11
+    assert config_test.tlpconfig_count == 107
+    assert config_test.tlpconfig_count == config_test.yamlconfig_count
+
+
+def test_tlp_version_1_5():
+    config_test = TlpConfigTest('1_5')
+    assert config_test.jsoncategories_count == 11
+    assert config_test.tlpconfig_count == 107
+    assert config_test.tlpconfig_count == config_test.yamlconfig_count
+
+
+def test_tlp_version_1_6():
+    config_test = TlpConfigTest('1_6')
+    assert config_test.jsoncategories_count == 11
+    assert config_test.tlpconfig_count == 109
+    assert config_test.tlpconfig_count == config_test.yamlconfig_count
+
+
+def test_tlp_version_1_7():
+    config_test = TlpConfigTest('1_7')
+    assert config_test.jsoncategories_count == 11
+    assert config_test.tlpconfig_count == 106
+    assert config_test.tlpconfig_count == config_test.yamlconfig_count
\ No newline at end of file
diff --git a/test/test_tlp_settings.py b/tests/test_tlp_settings.py
similarity index 100%
rename from test/test_tlp_settings.py
rename to tests/test_tlp_settings.py