1) add default values (so it can be used as a builder and serve as a default no arg constructor) 2) remove with() since Kotlin provides built-in copy()