impl arrays, some edits JO, before arrays test