protected edit and update methods