Added code to add all the required specifiers, IMHO quite generically.
Added optional specifiers to the addition list.