avoid array copy