using queue to comminicate between interrupt and mainloop