Author: Salomon Qt.