complete edit implementation.