parser rework, step 4