added writer do communicator