add noninteractive guard