It's redundant to have both `xf_cloud` and `xf_cloud_ptr`.  Why not just create as `Ptr` in the beginning?