moving errc channel from listeber method to listener struct