move channel save to module task