SmartPointer with block data