use locals for arguments rather than splatting