added reader and sender