have different exceptions for each phase of add