OK, so I have a function, Main Thread

```
def main_thread(self, item):
     print(item)

```

And it's called with

```
item = self.queue.pop(0)
print(item)
threading.Thread(target=self.main_thread,args=(item)).start()

```

The queue item is 'something' when I print it before calling the thread, it prints right. but for some reason its always turned into a list `s,o,m,e,t,h,i,n,g,` meaning, I cant use 

```
def main_thread(self, item):

```

because it says im trying to pass in 10 args, each letter being 1. 
if i use

```
def main_thread(self, *args):

```

i just get 10 args. i never had this problem before, but surely there must be a better way than re-building the string letter by letter