added importance weighting