update abstract type