more robust handling if system permissions go wrong