more types and parsing and etsting