more Data housekeeping

replaced more pointers with SharedPtr