updated api interface