check all arguments for validity when calling the .preload() method again
mode should only accept values "identity, shift_and_scale","shift and scale, "to_cube", "to cube"
the rest of the arguments (scale, ns_padding, ps_padding, keep_in_memory) should only take on the value type specified in the documentation.
An error should be thrown if the argument types do not match.

check all arguments for validity when calling the .preload() method again
mode should only accept values "identity, shift_and_scale","shift and scale, "to_cube", "to cube"
the rest of the arguments (scale, ns_padding, ps_padding, keep_in_memory) should only take on the value type specified in the documentation.
An error should be thrown if the argument types do not match.