Added an object type system