some ideas about parsing