avoid conflict with Base.isinteractive