dynamic add/delete now complete