add change class
allow different baseclasses