18.py update