reimplemented editing functions