same type for receiver and sender