add interpreterListener to collect errors