improved sampling