added thread based socket receiver implementation