<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def set_theme(self, theme_name):
 """ Set new theme to use. Uses a direct tk call to allow usage of the themes supplied with this package. :param theme_name: name of theme to activate """

        package = theme_name if theme_name not in self.PACKAGES else self.PACKAGES[theme_name]
        self.tk.call("package", "require", "ttk::theme::{}".format(package))
        self.tk.call("ttk::setTheme", theme_name)