working on api interface