added writing method and changed most widgets to read-only