the needed api