instead of zeros, maybe do arange(n).reshape(shape)