properly creates new array