new file:   perforator.py