modified type system