Start to implement the real parser