[Incompatible change] change to more useful interfaces