start separating parsing from checking