Hi Troels, Now that your array structures are well defined and all within one clear block in the target function __init__() method, I thought that maybe it would be a good time to reconsider the data assembly functions and design in the specific_analyses.relax_disp package. What I mean is that your new numpy structures could replace all of my list of lists structures throughout the entire dispersion code base. These data structures are primarily used for optimisation, and then used a little in maybe 3-4 other places, so your numpy array construction in the target function __init__() method could be directly moved into specific_analyses.relax_disp.data.return_r2eff_arrays() function (as well as a few of the other return_*() functions). My old list of lists idea is now fully redundant and I would be happy if your numpy construction replaces it completely :) Regards, Edward