1. add precheck before sending daata