using seperate channels