Add type system