document should be immutable