add types, parse