first implementation of the array (observed) move