Future todo: get this fn's arg list below a bajillion. :)