updated StructType for more functionality