def _sample_item(self, **kwargs):
        """Sample an item from the pool according to the instrumental
        distribution
        """
        t = self.t_
        if 'fixed_stratum' in kwargs:
            stratum_idx = kwargs['fixed_stratum']
        else:
            stratum_idx = None
        if stratum_idx is not None:
            # Sample in given stratum
            loc = self.strata._sample_in_stratum(stratum_idx, replace=False)
            # Record instrumental distribution
            if self.record_inst_hist:
                self.inst_pmf_[stratum_idx,t] = 1
        else:
            # Choose stratum based on instrumental distribution
            self._calc_inst_pmf()

            if self.record_inst_hist:
                inst_pmf = self.inst_pmf_[:,t]
            else:
                inst_pmf = self.inst_pmf_

            loc, stratum_idx = self.strata.sample(pmf = inst_pmf, replace=False)

        return loc, 1, {'stratum': stratum_idx}