impl smooth editing