     }
 
   public:
+    // Constructor should allocate an array of size = N
     array() noexcept
       : h_pointer(std::nullptr)
       , d_pointer(std::nullptr)

    }

    template<typename scalar_t>
    GUNROCK_HOST_DEVICE ValueT* operator+(
      const scalar_t& offset) const noexcept
    {
#ifdef __CUDA_ARCH__
      return data() + offset;

    }

    template<typename scalar_t>
    GUNROCK_HOST_DEVICE ValueT* operator+(const scalar_t& offset) const noexcept
    {
#ifdef __CUDA_ARCH__
      return data() + offset;
