editing functions complete