added non-interactive alternative