add log
implement sending task