refactored array.view