Refactor code: now more object-oriented
Implement grammer completely!
grouping test case in three cases