update changes
improve channel api