try with concurrent MPMC queue