abstract edit