changed PREDEFINED to be a list, not str