fixed callCC and listen