remamed the sender interface and implementation