Made fully parameterizable