fixed learning api interface