Change def to use 2d array for optional arguments instead