some fields should be mutable