some code I write to learn parser