changed internal APIs