phase 2 parsing