worked on nested lazy parsing