virtual method
before send handler