com_ptr is almost there