generalize parse.py