add OutputListener