conform to check.py