added receiver thread