protocol.py works