get a fresh handle every time we _generate_elements() so that ds updates always work correctly