edit functionality completed