added backend ability to edit channels generically