serialization now has IDs (moving towards pointer support)