add qt implementation