use array.newinstance instead of holders