almost all of parsing
parsing type complete