corrected free_values