for class (needs transitions)