implement editable regions