added types, flags, and inspection