- Equality, hashing etc all implemented automatically - Default values are defined in just one place (the properties) instead of the constructor as well - Added test to ensure that serialization works properly