write to channels