channel.on_main is now performed even if main fails