beginning array implementation