add edit feature functionality