New parser logic