add support for array and create a seperate nsp for array