more work on parse.c