transition to more general version