handle empty channels. closes #4