initial editing functionality