Made properties readonly
Update for undo