rework ArrayUtils