added more thread control to split receiver