fixed huge "pass non-primitive by reference" oversight