save before transmit