instead of two arrays use one with alternating from/to values to minimize objects created: [from, to, from, to, ...]