finish parser part, and fix an old issue