update advance, hasinverse, type, etc