added the c/s pair of sending the result back
can consider putting them into a separate thread of other code later