added full api interface for reference