avoid array_shift, it eats the references array item!