reworked channels & channel scope variables to making better use of promises