added initial multichannel implementation