added tunable number of listener threads