new type structure