refining api interface