diff --git a/NAMESPACE b/NAMESPACE
index 36d79792448d767e09a9b9cb21a5f3f9d9b1ba12..8dc315764ccc2ea404a2a42cb48941fd64b2f6c7 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -70,6 +70,8 @@ export(padLast)
 export(rollingmean)
 export(showVmGlgExamples)
 export(valueOrFunction)
+exportClasses(PaymentTimeSingleEnum)
+exportClasses(SexSingleEnum)
 exportClasses(TariffTypeSingleEnum)
 import(MortalityTables)
 import(R6)
diff --git a/R/HelperFunctions.R b/R/HelperFunctions.R
index e19647bba733c12b6d66bc8032aa8bc95f8a5982..56a5892bc26dcc64bf417da9510cd116ddbe6389 100644
--- a/R/HelperFunctions.R
+++ b/R/HelperFunctions.R
@@ -2,28 +2,29 @@
 #' @importFrom objectProperties setSingleEnum
 #' @importFrom utils head tail
 #' @importFrom methods new
-#'
+NULL
 
-# @name PaymentTimeSingleEnum
-# @description Enum to describe when a benefit or premium payment is due (in advance or in arrears)
-# @details Currently, only two values are allowed;
-# * "in advance"
-# * "in arrears
-#
-# @export
-PaymentTimeEnum = objectProperties::setSingleEnum("PaymentTime", levels = c("in advance", "in arrears"))
-#PaymentCountEnum = objectProperties::setSingleEnum(PaymentCount, levels = c(1,2,3))
-
-# @name SexSingleEnum
-# @description Enum to describe possble sexes in an insurance contract or tariff.
-# @details
-# Currently, only possible values are allowed;
-# * "unisex"
-# * "male"
-# * "female"
-#
-# @export
-SexEnum = objectProperties::setSingleEnum("Sex", levels = c("unisex", "male", "female"))
+
+
+#' Enum to describe when a benefit or premium payment is due (in advance or in arrears)
+#' @details Currently, only two values are allowed;
+#' \itemize{
+#'     \item "in advance"
+#'     \item "in arrears"
+#' }
+#'
+#' @export
+PaymentTimeEnum = objectProperties::setSingleEnum("PaymentTime", levels = c("in advance", "in arrears"));
+
+#' Enum to describe possble sexes in an insurance contract or tariff.
+#' @details
+#' Currently, only possible values are allowed;
+#' * "unisex"
+#' * "male"
+#' * "female"
+#'
+#' @export
+SexEnum = objectProperties::setSingleEnum("Sex", levels = c("unisex", "male", "female"));
 
 
 #' Describes the death benefit of a linearly decreasing whole life insurance (after a possible deferall period)
@@ -71,7 +72,7 @@ deathBenefit.linearDecreasing = function(len, params, values) {
 #' @param interest The interest rate of the loan, which is underlying the insurance.
 #'
 #'
-#'@export
+#' @export
 deathBenefit.annuityDecreasing = function(interest) {
     function(len, params, values) {
         protectionPeriod = params$ContractData$policyPeriod - params$ContractData$deferralPeriod;
diff --git a/R/InsuranceContract.R b/R/InsuranceContract.R
index 7be8a9d6af8ac7be04f398fd0f1ef904e35b0bdf..4d9f1bc73d290d7be60aee8b1d8cc7c6ad9d2a92 100644
--- a/R/InsuranceContract.R
+++ b/R/InsuranceContract.R
@@ -12,8 +12,126 @@ NULL
 #' all other relevant contract parameters (if not defined by the tariff or
 #' explicitly overridden by the contract) can be given in the constructor.
 #'
+#' ## Usage
+#'
+#' The typical usage of this class is to simply call [InsuranceContract$new()].
+#'
+#' All parameters from the [InsuranceContract.ParameterDefaults] can be passed
+#' to the constructor of the class (i.e. the [InsuranceContract$new()]-call).
+#' Parameters not explicitly given, will be taken from the tariff or as a fall-back
+#' mechanism from the [InsuranceContract.ParameterDefaults] defaults.
+#'
 #' Immediately upon construction, all premiums, reserves and cash flows for the
-#' whole contract period are calculated.
+#' whole contract period are calculated and can be accessed via the \code{Values}
+#' field of the object.
+#'
+#'
+#' ## Calculation approach: Cash Flows
+#'
+#' An insurance contract is basically defined by the (unit) cash flows it produces:
+#' \itemize{
+#'   \item Premium payments (in advance or in arrears) at each timestep
+#'   \item Survival payments at each timestep
+#'   \item Death benefits at each timestep
+#'   \item Disease benefits at each timestep
+#'   \item Guaranteed payments at each timestep
+#' }
+#' Together with the transition probabilities (mortalityTable parameter)
+#' the present values can be calculated, from which the premiums follow and
+#' finally the reserves and a potential profit sharing.
+#'
+#' For example, a term life insurance with regular premiums would have the following
+#' cash flows:
+#'
+#' * premium cash flows: 1, 1, 1, 1, 1, ...
+#' * survival cash flows: 0, 0, 0, 0, 0, ...
+#' * guaranteed cash flows: 0, 0, 0, 0, 0, ...
+#' * death benefit cash flows: 1, 1, 1, 1, 1, ...
+#'
+#' A single-premium term life insurance would look similar, except for the premiums:
+#'
+#' * premium cash flows: 1, 0, 0, 0, 0, ...
+#'
+#' A pure endowment has no death benefits, but a survival benefit of 1 at the
+#' maturity of the contract:
+#'
+#' * premium cash flows: 1, 1, 1, 1, 1, ...
+#' * survival cash flows: 0, 0, ..., 0, 1
+#' * guaranteed cash flows: 0, 0, 0, 0, 0, ...
+#' * death benefit cash flows: 0, 0, 0, 0, 0, ...
+#'
+#' An endowment has also death benefits during the contract duration:
+#'
+#' * premium cash flows: 1, 1, 1, 1, 1, ...
+#' * survival cash flows: 0, 0, ..., 0, 1
+#' * guaranteed cash flows: 0, 0, 0, 0, 0, ...
+#' * death benefit cash flows: 1, 1, 1, 1, 1, ...
+#'
+#' A (deferred) annuity has premium cash flows only during the deferral peroid
+#' and only survival cash flows during the annuity payment phase. Often, in case
+#' of death during the deferral period, all premiums paid are refunded as a death
+#' benefit.:
+#'
+#' * premium cash flows: 1, 1, ...,  1, 0, 0, 0, ...
+#' * survival cash flows: 0, 0, ..., 0, 1, 1, 1,...
+#' * guaranteed cash flows: 0, 0, 0, 0, 0, ...
+#' * death benefit cash flows: 1, 2, 3, 4, 5, ..., 0, 0, ...
+#'
+#' A terme-fix insurance has a guaranteed payment at maturity, even if the insured
+#' has already died. The premiums, however, are only paid until death (which is
+#' not reflected in the contingent cash flows, but rather in the transition
+#' probabilities):
+#'
+#' * premium cash flows: 1, 1, 1, 1, ...,  1
+#' * survival cash flows: 0, 0, 0, 0, ..., 0
+#' * guaranteed cash flows: 0, 0, 0, ..., 0, 1
+#' * death benefit cash flows: 0, 0, 0, 0, ..., 0
+#'
+#' ## Calculation approach: Valuation
+#'
+#' The calculation of all contract values is controlled by the function
+#' [InsuranceContract$calculateContract()] (using methods of the [InsuranceTarif]
+#' object) and follows the following logic:
+#'
+#' 1. Once the (unit) cash flows and the transition probbilities are determined,
+#' the actuarial equivalence principle states that at time of inception, the
+#' (net and gross) premium must be determined in a way that the present value
+#' of the future benefits and costs minus the present value of the future premiums
+#' must be equal, i.e. in expectation the future premiums ove the whole lifetime
+#' of the contract will exactly cover the benefits and costs. Similarly, at all
+#' later time steps, the difference between these two present values needs to be
+#' reserved (i.e. has already been paid by the customer by previous premiums).
+#' 2. This allows the premiums to be calculated by first calculating the present
+#' values for all of the benefit and costs cash flow vectors.
+#' 3. The formulas
+#' to calculate the gross, Zillmer and net premiums involve simple linear
+#' combinations of these present values, so the coefficients of these formulas
+#' is determined next.
+#' 4. With the coefficients of the premium formulas calculated, all premiums
+#' can be calculated (first the gross premium, because due to potential gross
+#' premium refunds in case of death, the formula for the net premium requires
+#' the gross premium, which the formula for the gross premium involves no other
+#' type of premuim).
+#' 5. With premiums determined, all unit cash flows and unit present values can
+#' now be expressed in monetary terms (i.e. the actual Euro-amount that flows
+#' rather than a percentage).
+#' 6. As described above, the difference between the present values of premiums
+#' and present values of benefits and costs is defined as the required amount
+#' of reserves, so the reserves (net, gross, administration cost, balance sheet)
+#' and all values derived from them (i.e. surrender value, sum insured in case of
+#' premium waiver, etc.) are calculated.
+#' 7. The decomposition of the premium into parts dedicated to specific purposes
+#' (tax, rebates, net premium, gross premium, Zillmer premium, cost components,
+#' risk premium, savings premium, etc.) can be done once the reserves are
+#' ready (since e.g. the savings premium is defined as the difference of
+#' discounted reserves at times $t$ and $t+1$).
+#' 8. If the contract has (discretionary or obligatory) profit sharing mechanisms
+#' included, the corresponding [ProfitParticipation] object can calculate that
+#' profit sharing amounts, once all guaranteed values are calculated. This can
+#' also be triggered manually (with custom profit sharing rates) by calling
+#' the methods [InsuranceContract$profitScenario()] or [InsuranceContract$addProfitScenario()].
+#'
+#'
 #'
 #' @export
 InsuranceContract = R6Class(
@@ -21,21 +139,54 @@ InsuranceContract = R6Class(
 
     ######################### PUBLIC METHODS ##################################
     public = list(
+        #' @field tarif
+        #' The [InsuranceTarif] underlying this contract. The tarif is the abstract
+        #' product description (i.e. defining the type of insurance, fixing tpyes
+        #' of benefits, specifying costs, guaranteed interest rate, mortality tables,
+        #' potential profit sharing mechanisms, etc.), while the contract holds
+        #' the individual parts like age, sum insured, contract duration, premium
+        #' payment frequency, etc.
         tarif = NULL,
+        #' @field parent
+        #' A pointer to the parent contract. Some contracts consist of multiple
+        #' parts (e.g. a main savings contract with a dread-disease rider, or
+        #' a contract with multiple dynamic increases). These are internally
+        #' represented by one [InsuranceContract] object per contract part, plus
+        #' one contract object combining them and deriving combined premiums,
+        #' reserves and profit participation. The child contracts (i.e. the
+        #' objects representing the individual parts) have a pointer to their
+        #' parent, while the overall contract holds a list of all its child contract parts.
         parent = NULL,
 
+        #' @field ContractParameters
+        #' Insurance contract parameters explicitly specified in the contract
+        #' (i.e. parameters that are NOT taken from the tariff of the defaults).
         ContractParameters = InsuranceContract.ParameterStructure, # Only values explicitly given for this contract, not including fallback values from the tariff
+        #' @field Parameters
+        #' Full set of insurance contract parameters applying to this contract.
+        #' The set of parameters is a combination of explicitly given (contract-specific)
+        #' values, parameters determined by the tariff and default values.
         Parameters = InsuranceContract.ParameterStructure,         # The whole parameter set, including values given by the tariff
 
-        #### Caching values for this contract, initialized/calculated when the object is created
+        #' @field Values
+        #' List of all contract values (cash flows, present values, premiums,
+        #' reserves, premium decomposition, profit participation, etc.). These
+        #' values will be calculated and filled when the contract is created
+        #' and updated whenever the contract is changed.
         Values = InsuranceContract.Values,
 
-        #### List of all tariff blocks (independently calculated, but combined to one contract, e.g. dynamic/sum increases)
-        # If blocks is empty, this object describes a contract block (calculated as a stand-alone tariff), otherwise it will
-        # simply be the sum of its blocks (adjusted to span the same time periods)
+        #' @field blocks
+        #' For contracts with multiple contract parts: List of all tariff blocks
+        #' (independently calculated [InsuranceContract] objects, that are combined
+        #' to one contract, e.g. dynamic/sum increases). If this field is empty,
+        #' this object describes a contract block (calculated as a stand-alone
+        #' tariff), otherwise it will simply be the sum of its blocks (adjusted
+        #' to span the same time periods)
         blocks = list(),
 
-        #### Keeping the history of all contract changes during its lifetime
+        #' @field history
+        #' A list keeping track of all contract changes (including the whole
+        #' contract state and its values before the change).
         history = list(),
 
 
@@ -439,6 +590,9 @@ InsuranceContract = R6Class(
             invisible(self)
         },
 
+
+        #' @field dummy.public
+        #' dummy field to allow a trailing comma after the previous field/method
         dummy.public = NULL
     ),
 
diff --git a/R/InsuranceParameters.R b/R/InsuranceParameters.R
index 95cf945cf179e0ee0b3b25b10d62980f7f78e679..0a670e0dc8316f831311f65812b18e265f69c847 100644
--- a/R/InsuranceParameters.R
+++ b/R/InsuranceParameters.R
@@ -149,7 +149,7 @@ InsuranceContract.Values = list(
 #'               insured for contracts with multiple insured (i.e. joint-lives)}
 #'     \item{\code{$sex}}{Sex of the insured, to allow gender-specific prixing
 #'               (e.g. different mortalities or age modification), default="unisex",
-#'               Type is [SexSingleEnum]}
+#'               Type is [SexEnum]}
 #'     \item{\code{$policyPeriod}}{Policy Duration (in years)}
 #'     \item{\code{$premiumPeriod}}{Premium payment period (in year), for
 #'               single-premium contracts, \code{premiumPeriod = 1}. Default is
@@ -177,11 +177,11 @@ InsuranceContract.Values = list(
 #'               value is only used by the parent block (i.e. $t=0$ of the child
 #'               is aligned with $t=blockStart$ of the parent block.}
 #'     \item{\code{$premiumPayments}}{Whether premiums are paid in advance
-#'               (default) or arrears. Value is of type [PaymentTimeSingleEnum]
+#'               (default) or arrears. Value is of type [PaymentTimeEnum]
 #'               with possible values "in advance" and 'in arrears"}
 #'     \item{\code{$benefitPayments}}{Whether recurring benefits (e.g. annuities)
 #'               are paid in advance (default) or arrears. Value is of type
-#'               [PaymentTimeSingleEnum] with possible values "in advance" and
+#'               [PaymentTimeEnum] with possible values "in advance" and
 #'               "in arrears"}
 #'     \item{\code{$premiumFrequency}}{Number of premium payments per year, default is 1.}
 #'     \item{\code{$benefitFrequency}}{Number of benefit payments per year, default is 1.}
diff --git a/man/InsuranceContract.ParameterDefaults.Rd b/man/InsuranceContract.ParameterDefaults.Rd
index ab8291f3fbbce36bf6e94cdad0cfe1402cdd780a..e1907bb1b394f54f806eda752688d9df2e609382 100644
--- a/man/InsuranceContract.ParameterDefaults.Rd
+++ b/man/InsuranceContract.ParameterDefaults.Rd
@@ -51,7 +51,7 @@ with the real age)}
 insured for contracts with multiple insured (i.e. joint-lives)}
 \item{\code{$sex}}{Sex of the insured, to allow gender-specific prixing
 (e.g. different mortalities or age modification), default="unisex",
-Type is \link{SexSingleEnum}}
+Type is \link{SexEnum}}
 \item{\code{$policyPeriod}}{Policy Duration (in years)}
 \item{\code{$premiumPeriod}}{Premium payment period (in year), for
 single-premium contracts, \code{premiumPeriod = 1}. Default is
@@ -79,11 +79,11 @@ The main block starts a 0, dynamic increases start later! This
 value is only used by the parent block (i.e. $t=0$ of the child
 is aligned with $t=blockStart$ of the parent block.}
 \item{\code{$premiumPayments}}{Whether premiums are paid in advance
-(default) or arrears. Value is of type \link{PaymentTimeSingleEnum}
+(default) or arrears. Value is of type \link{PaymentTimeEnum}
 with possible values "in advance" and 'in arrears"}
 \item{\code{$benefitPayments}}{Whether recurring benefits (e.g. annuities)
 are paid in advance (default) or arrears. Value is of type
-\link{PaymentTimeSingleEnum} with possible values "in advance" and
+\link{PaymentTimeEnum} with possible values "in advance" and
 "in arrears"}
 \item{\code{$premiumFrequency}}{Number of premium payments per year, default is 1.}
 \item{\code{$benefitFrequency}}{Number of benefit payments per year, default is 1.}\preformatted{\\item\{\code{$widowProportion}\}\{For annuities with a widow transition,
diff --git a/man/InsuranceContract.Rd b/man/InsuranceContract.Rd
index b342e4ec5c526a6c8fbd2783132dc6567a917306..1a4ef258e15b39b4c7232c8cddea624741913a41 100644
--- a/man/InsuranceContract.Rd
+++ b/man/InsuranceContract.Rd
@@ -10,8 +10,176 @@ all other relevant contract parameters (if not defined by the tariff or
 explicitly overridden by the contract) can be given in the constructor.
 }
 \details{
+\subsection{Usage}{
+
+The typical usage of this class is to simply call \code{\link[=InsuranceContract$new]{InsuranceContract$new()}}.
+
+All parameters from the \link{InsuranceContract.ParameterDefaults} can be passed
+to the constructor of the class (i.e. the \code{\link[=InsuranceContract$new]{InsuranceContract$new()}}-call).
+Parameters not explicitly given, will be taken from the tariff or as a fall-back
+mechanism from the \link{InsuranceContract.ParameterDefaults} defaults.
+
 Immediately upon construction, all premiums, reserves and cash flows for the
-whole contract period are calculated.
+whole contract period are calculated and can be accessed via the \code{Values}
+field of the object.
+}
+
+\subsection{Calculation approach: Cash Flows}{
+
+An insurance contract is basically defined by the (unit) cash flows it produces:
+\itemize{
+\item Premium payments (in advance or in arrears) at each timestep
+\item Survival payments at each timestep
+\item Death benefits at each timestep
+\item Disease benefits at each timestep
+\item Guaranteed payments at each timestep
+}
+Together with the transition probabilities (mortalityTable parameter)
+the present values can be calculated, from which the premiums follow and
+finally the reserves and a potential profit sharing.
+
+For example, a term life insurance with regular premiums would have the following
+cash flows:
+\itemize{
+\item premium cash flows: 1, 1, 1, 1, 1, ...
+\item survival cash flows: 0, 0, 0, 0, 0, ...
+\item guaranteed cash flows: 0, 0, 0, 0, 0, ...
+\item death benefit cash flows: 1, 1, 1, 1, 1, ...
+}
+
+A single-premium term life insurance would look similar, except for the premiums:
+\itemize{
+\item premium cash flows: 1, 0, 0, 0, 0, ...
+}
+
+A pure endowment has no death benefits, but a survival benefit of 1 at the
+maturity of the contract:
+\itemize{
+\item premium cash flows: 1, 1, 1, 1, 1, ...
+\item survival cash flows: 0, 0, ..., 0, 1
+\item guaranteed cash flows: 0, 0, 0, 0, 0, ...
+\item death benefit cash flows: 0, 0, 0, 0, 0, ...
+}
+
+An endowment has also death benefits during the contract duration:
+\itemize{
+\item premium cash flows: 1, 1, 1, 1, 1, ...
+\item survival cash flows: 0, 0, ..., 0, 1
+\item guaranteed cash flows: 0, 0, 0, 0, 0, ...
+\item death benefit cash flows: 1, 1, 1, 1, 1, ...
+}
+
+A (deferred) annuity has premium cash flows only during the deferral peroid
+and only survival cash flows during the annuity payment phase. Often, in case
+of death during the deferral period, all premiums paid are refunded as a death
+benefit.:
+\itemize{
+\item premium cash flows: 1, 1, ...,  1, 0, 0, 0, ...
+\item survival cash flows: 0, 0, ..., 0, 1, 1, 1,...
+\item guaranteed cash flows: 0, 0, 0, 0, 0, ...
+\item death benefit cash flows: 1, 2, 3, 4, 5, ..., 0, 0, ...
+}
+
+A terme-fix insurance has a guaranteed payment at maturity, even if the insured
+has already died. The premiums, however, are only paid until death (which is
+not reflected in the contingent cash flows, but rather in the transition
+probabilities):
+\itemize{
+\item premium cash flows: 1, 1, 1, 1, ...,  1
+\item survival cash flows: 0, 0, 0, 0, ..., 0
+\item guaranteed cash flows: 0, 0, 0, ..., 0, 1
+\item death benefit cash flows: 0, 0, 0, 0, ..., 0
+}
+}
+
+\subsection{Calculation approach: Valuation}{
+
+The calculation of all contract values is controlled by the function
+\code{\link[=InsuranceContract$calculateContract]{InsuranceContract$calculateContract()}} (using methods of the \link{InsuranceTarif}
+object) and follows the following logic:
+\enumerate{
+\item Once the (unit) cash flows and the transition probbilities are determined,
+the actuarial equivalence principle states that at time of inception, the
+(net and gross) premium must be determined in a way that the present value
+of the future benefits and costs minus the present value of the future premiums
+must be equal, i.e. in expectation the future premiums ove the whole lifetime
+of the contract will exactly cover the benefits and costs. Similarly, at all
+later time steps, the difference between these two present values needs to be
+reserved (i.e. has already been paid by the customer by previous premiums).
+\item This allows the premiums to be calculated by first calculating the present
+values for all of the benefit and costs cash flow vectors.
+\item The formulas
+to calculate the gross, Zillmer and net premiums involve simple linear
+combinations of these present values, so the coefficients of these formulas
+is determined next.
+\item With the coefficients of the premium formulas calculated, all premiums
+can be calculated (first the gross premium, because due to potential gross
+premium refunds in case of death, the formula for the net premium requires
+the gross premium, which the formula for the gross premium involves no other
+type of premuim).
+\item With premiums determined, all unit cash flows and unit present values can
+now be expressed in monetary terms (i.e. the actual Euro-amount that flows
+rather than a percentage).
+\item As described above, the difference between the present values of premiums
+and present values of benefits and costs is defined as the required amount
+of reserves, so the reserves (net, gross, administration cost, balance sheet)
+and all values derived from them (i.e. surrender value, sum insured in case of
+premium waiver, etc.) are calculated.
+\item The decomposition of the premium into parts dedicated to specific purposes
+(tax, rebates, net premium, gross premium, Zillmer premium, cost components,
+risk premium, savings premium, etc.) can be done once the reserves are
+ready (since e.g. the savings premium is defined as the difference of
+discounted reserves at times $t$ and $t+1$).
+\item If the contract has (discretionary or obligatory) profit sharing mechanisms
+included, the corresponding \link{ProfitParticipation} object can calculate that
+profit sharing amounts, once all guaranteed values are calculated. This can
+also be triggered manually (with custom profit sharing rates) by calling
+the methods \code{\link[=InsuranceContract$profitScenario]{InsuranceContract$profitScenario()}} or \code{\link[=InsuranceContract$addProfitScenario]{InsuranceContract$addProfitScenario()}}.
+}
+}
+}
+\section{Public fields}{
+\if{html}{\out{<div class="r6-fields">}}
+\describe{
+\item{\code{tarif}}{The \link{InsuranceTarif} underlying this contract. The tarif is the abstract
+product description (i.e. defining the type of insurance, fixing tpyes
+of benefits, specifying costs, guaranteed interest rate, mortality tables,
+potential profit sharing mechanisms, etc.), while the contract holds
+the individual parts like age, sum insured, contract duration, premium
+payment frequency, etc.}
+
+\item{\code{parent}}{A pointer to the parent contract. Some contracts consist of multiple
+parts (e.g. a main savings contract with a dread-disease rider, or
+a contract with multiple dynamic increases). These are internally
+represented by one \link{InsuranceContract} object per contract part, plus
+one contract object combining them and deriving combined premiums,
+reserves and profit participation. The child contracts (i.e. the
+objects representing the individual parts) have a pointer to their
+parent, while the overall contract holds a list of all its child contract parts.}
+
+\item{\code{ContractParameters}}{Insurance contract parameters explicitly specified in the contract
+(i.e. parameters that are NOT taken from the tariff of the defaults).}
+
+\item{\code{Parameters}}{Full set of insurance contract parameters applying to this contract.
+The set of parameters is a combination of explicitly given (contract-specific)
+values, parameters determined by the tariff and default values.}
+
+\item{\code{Values}}{List of all contract values (cash flows, present values, premiums,
+reserves, premium decomposition, profit participation, etc.). These
+values will be calculated and filled when the contract is created
+and updated whenever the contract is changed.}
+
+\item{\code{blocks}}{For contracts with multiple contract parts: List of all tariff blocks
+(independently calculated \link{InsuranceContract} objects, that are combined
+to one contract, e.g. dynamic/sum increases). If this field is empty,
+this object describes a contract block (calculated as a stand-alone
+tariff), otherwise it will simply be the sum of its blocks (adjusted
+to span the same time periods)}
+
+\item{\code{history}}{A list keeping track of all contract changes (including the whole
+contract state and its values before the change).}
+}
+\if{html}{\out{</div>}}
 }
 \section{Methods}{
 \subsection{Public methods}{
diff --git a/man/PaymentTimeSingleEnum-class.Rd b/man/PaymentTimeSingleEnum-class.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..9c2d66b39fa2bef96ce8554f9c118775ae36dbc5
--- /dev/null
+++ b/man/PaymentTimeSingleEnum-class.Rd
@@ -0,0 +1,17 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/HelperFunctions.R
+\docType{class}
+\name{PaymentTimeSingleEnum-class}
+\alias{PaymentTimeSingleEnum-class}
+\alias{PaymentTimeEnum}
+\title{Enum to describe when a benefit or premium payment is due (in advance or in arrears)}
+\description{
+Enum to describe when a benefit or premium payment is due (in advance or in arrears)
+}
+\details{
+Currently, only two values are allowed;
+\itemize{
+\item "in advance"
+\item "in arrears"
+}
+}
diff --git a/man/SexSingleEnum-class.Rd b/man/SexSingleEnum-class.Rd
new file mode 100644
index 0000000000000000000000000000000000000000..7bb521b6bb3b128251a9ef148144597b82bc22e8
--- /dev/null
+++ b/man/SexSingleEnum-class.Rd
@@ -0,0 +1,18 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/HelperFunctions.R
+\docType{class}
+\name{SexSingleEnum-class}
+\alias{SexSingleEnum-class}
+\alias{SexEnum}
+\title{Enum to describe possble sexes in an insurance contract or tariff.}
+\description{
+Enum to describe possble sexes in an insurance contract or tariff.
+}
+\details{
+Currently, only possible values are allowed;
+\itemize{
+\item "unisex"
+\item "male"
+\item "female"
+}
+}
diff --git a/vignettes/using-the-lifeinsurancecontracts-package.R b/vignettes/using-the-lifeinsurancecontracts-package.R
index f814edf7ebd82b56450ba790778f4105bbb257b1..0ee30d80c622cf970fb47963829a133eef031bce 100644
--- a/vignettes/using-the-lifeinsurancecontracts-package.R
+++ b/vignettes/using-the-lifeinsurancecontracts-package.R
@@ -1,9 +1,11 @@
 ## ----echo = FALSE, message=FALSE----------------------------------------------
 knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
-library(pander)
+library(knitr)
+library(kableExtra)
 library(LifeInsuranceContracts)
+options(scipen=5)
 
-
+library(pander)
 ## Modified pandoc.list function that also works with NULL entries in the lists:
 pandoc.listRK.return <- function(elements, style = c('bullet', 'ordered', 'roman'), loose = FALSE, add.line.breaks = TRUE, add.end.of.list = TRUE, indent.level = 0, missing = panderOptions('missing')) { #nolint
 
@@ -85,10 +87,97 @@ pandoc.listRK <- function(...)
 
 
 
+## ----SimpleExampleRiskTarif---------------------------------------------------
+library(magrittr)
+library(MortalityTables)
+library(LifeInsuranceContracts)
+mortalityTables.load("Austria_Census")
+
+Tarif.L71U = InsuranceTarif$new(
+    name = "L71-U",
+    type = "wholelife",
+    tarif = "DeathPlus - Short Term Life Insurance",
+    desc = "Term Life insurance (10 years) with constant sum insured and regular premiums",
+    policyPeriod = 10, premiumPeriod = 10,  # premiumPeriod not needed, defaults to maturity
+
+    mortalityTable = mortalityTable.mixed(
+      table1 = mort.AT.census.2011.male, weight1 = 0.65, 
+      table2 = mort.AT.census.2011.female, weight2 = 0.35
+    ),
+    i = 0.005, 
+    tax = 0.04, 
+    costs = initializeCosts(alpha = 0.05, gamma = 0.01, gamma.paidUp = 0.01, unitcosts = 10),
+    surrenderValueCalculation = function(surrenderReserve, params, values) { 
+      surrenderReserve * 0.9 
+    }
+);
+
+## ----SimpleExampleRiskContract------------------------------------------------
+contract.L71U  = InsuranceContract$new(
+  Tarif.L71U, 
+  age = 35, 
+  contractClosing = as.Date("2020-08-18"), 
+  sumInsured = 100000);
+
+## ----SimpleExampleRiskValues--------------------------------------------------
+contract.L71U$Values$premiums %>% kable
+contract.L71U$Values$reserves %>% kable(digits=2)
+
+## ----SimpleExampleRiskCF------------------------------------------------------
+contract.L71U$Values$cashFlows %>% kable()
+contract.L71U$Values$cashFlowsCosts %>% kable()
+
+## ----SimpleExampleRiskPV------------------------------------------------------
+contract.L71U$Values$presentValues %>% kable()
+contract.L71U$Values$presentValuesCosts %>% kable()
+contract.L71U$Values$premiums %>% kable()
+
+## ----SimpleExampleRiskReserves------------------------------------------------
+contract.L71U$Values$reserves %>% kable(digits=2)
+
+## ----SimpleExampleRiskPremiumComposition--------------------------------------
+contract.L71U$Values$premiumComposition %>% kable(digits=2)
+
+## ----SimpleExampleRiskConversion----------------------------------------------
+contract.L71U = contract.L71U$premiumWaiver(t = 5)
+contract.L71U$Values$reserves %>% kable(digits=2)
+
+## ----SimpleExampleRiskPremiumGrid---------------------------------------------
+contractGridPremium(
+  axes = list(age = seq(20, 80, 5), policyPeriod = seq(5, 40, 5)),
+  tarif = Tarif.L71U, 
+  contractClosing = as.Date("2020-08-18"), 
+  sumInsured = 100000
+)
+
+## ----SimpleExampleRiskPremiumGrid3D-------------------------------------------
+contractGridPremium(
+  axes = list(age = seq(20, 80, 10), policyPeriod = seq(10, 40, 10), sumInsured = c(10000, 50000, 100000)),
+  tarif = Tarif.L71U, 
+  contractClosing = as.Date("2020-08-18")
+)
+
+## ----SimpleExampleRiskPremiumGridLifeTables-----------------------------------
+contractGridPremium(
+  axes = list(mortalityTable = mort.AT.census["m", ], age = seq(20, 80, 10)),
+  tarif = Tarif.L71U, 
+  sumInsured = 100000,
+  contractClosing = as.Date("2020-08-18")
+)
+
 ## -----------------------------------------------------------------------------
 str(InsuranceContract.ParameterDefaults)
 
 ## ---- results="asis"----------------------------------------------------------
 
-#pandoc.listRK(InsuranceContract.ParameterDefaults)
+# pandoc.listRK(InsuranceContract.ParameterDefaults)
+
+## ----TarifDefinition----------------------------------------------------------
+riskTarif = InsuranceTarif$new(
+  name = "Example Risk Tarif", 
+  
+)
+
+
+
 
diff --git a/vignettes/using-the-lifeinsurancecontracts-package.Rmd b/vignettes/using-the-lifeinsurancecontracts-package.Rmd
index 0db1e7ae9500f0b1146175ff6c6c1bcfa751ec01..ff4aae3f1bd22fc1bade042ab211c239c42a088c 100644
--- a/vignettes/using-the-lifeinsurancecontracts-package.Rmd
+++ b/vignettes/using-the-lifeinsurancecontracts-package.Rmd
@@ -12,6 +12,7 @@ output:
         toc_depth: 3
         fig_width: 7
         fig_height: 5
+        number_sections: true
 vignette: >
   %\VignetteIndexEntry{Using the LifeInsuranceContracts Package}
   %\VignetteEngine{knitr::rmarkdown}
@@ -21,8 +22,18 @@ vignette: >
 
 ```{r echo = FALSE, message=FALSE}
 knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
-library(pander)
+library(knitr)
+library(kableExtra)
 library(LifeInsuranceContracts)
+library(dplyr)
+options(scipen=5)
+
+library(pander)
+
+panderOptions('round', 2)
+panderOptions('digits', 12)
+panderOptions('keep.trailing.zeros', TRUE)
+panderOptions('table.split.table', 120)
 
 
 ## Modified pandoc.list function that also works with NULL entries in the lists:
@@ -109,12 +120,353 @@ pandoc.listRK <- function(...)
 
 The LifeInsuranceContracts package provides a full-featured framework to model classical life insurance contracts (non-unit linked). Mathematically, a general life insurance contracts can be defined using death and survival (and disability) benefit vectors to define the cash flows and calculate all premiums and reserves recursively. This powerful approach is taken by the LifeInsuranceContracts package to provide the most flexible contract modelling framework in R.
 
+# General Overview of the Concepts
+
+An insurance contract is described by three different objects;
+
+* [InsuranceContract]: The object describing the actual contract with all 
+  contract-specific parameters (age, maturity, sum insured, etc.).
+* [InsuranceTarif]: The general (contract-independent) description of the
+  insurance product (benefits, present values / reserves, premium calculation,
+  premium waivers, surrender value, reserve calculation, premium decomposition).
+  It does not store any values (only tarif-provided default values for the 
+  insurance contract), but provides all calculation functions. The implementation
+  is based on a general approach using cash flows (depending on the type of 
+  insurance). Once the cash flows (survival, death and guaranteed) are defined
+  for all time steps, all further calculations are idential for all different 
+  kinds of life insurance.
+* [ProfitParticipation]: For contracts with profit sharing mechanisms, this
+  object describes the profit participation (like the [InsuranceTarif] object
+  describes the guaranteed payments) and us used by the [InsuranceContract] 
+  object.
+
+While this might at first seem a bit complicated, it allows for very generic
+implementations of life insurance products and contracts.
+
+
+# A simple example: Term life insurance
+
+To understand how the package implements life insurance contracts, let us look
+at a simple example:
+
+## Tarif description
+
+Term Life Insurance 
+
+* Public product name '**DeathPlus - Short Term Life Insurance**', Internal ID '**L71-U**'
+* Only **death benefits**, no survival benefits
+* **Mortality table**: Austrian 2010/12 census table unisex (mixed 65:35 from the male:female tables)
+* **Guaranteed interest rate**: 0.5%
+* Default contract duration: 5 years (to keep the example short)
+* **Regular premium** payments (constant premiums) during the whole contract
+<!-- * premiums paid more often than once a year in advance get the following surcharge: -->
+<!--     * yearly premiums: 0% surcharge -->
+<!--     * half-yearly premiums: 1% surcharge -->
+<!--     * quarterly premiums: 1.5% surcharge -->
+<!--     * monthly premiums: 2% surcharge -->
+
+**Costs**:
+
+* Aquisition costs: 5\% of the total premium sum
+* Administration cost: 1% of the sum insured per year (both during premium payments as well as for paid-up contracts)
+* Unit costs: 10 Euro per year (fixed) during premium payments
+* Tax: 4% insurance tax (default)
+
+Surrender Value:
+
+* Reserve minus 10% surrender penalty, also applied on premium waiver
+
+
+## Tariff implementation as an InsuranceTarif object
+
+```{r SimpleExampleRiskTarif}
+library(magrittr)
+library(MortalityTables)
+library(LifeInsuranceContracts)
+mortalityTables.load("Austria_Census")
+
+Tarif.L71U = InsuranceTarif$new(
+    name = "L71-U",
+    type = "wholelife",
+    tarif = "DeathPlus - Short Term Life Insurance",
+    desc = "Term Life insurance (5 years) with constant sum insured and regular premiums",
+    policyPeriod = 5, premiumPeriod = 5,  # premiumPeriod not needed, defaults to maturity
+
+    mortalityTable = mortalityTable.mixed(
+      table1 = mort.AT.census.2011.male, weight1 = 0.65, 
+      table2 = mort.AT.census.2011.female, weight2 = 0.35
+    ),
+    i = 0.005, 
+    tax = 0.04, 
+    costs = initializeCosts(alpha = 0.05, gamma = 0.01, gamma.paidUp = 0.01, unitcosts = 10),
+    surrenderValueCalculation = function(surrenderReserve, params, values) { 
+      surrenderReserve * 0.9 
+    }
+);
+```
+
+## Calculating one particular contract with the given tariff
+
+With the above product / tariff definition, it is now easy to instantiate 
+one particular contract for this tariff. All we need to do is pass the tariff
+and the corresponding contract-specific information (mainly age, sum insured
+and contract closing) to the [InsuranceContract] object:
+
+```{r SimpleExampleRiskContract}
+contract.L71U  = InsuranceContract$new(
+  Tarif.L71U, 
+  age = 35, 
+  contractClosing = as.Date("2020-08-18"), 
+  sumInsured = 100000);
+```
+
+Just creating the contract will already calculate all cash flows, present values,
+premiums, reserves, etc. for the whole contract period. They can be accessed 
+through the \code{contract.L71U$Values} list.
+
+A full list of all possible arguments can be found in the section [All possible parameters and their default values].
+
+
+Once the contract is created, all values can be accessed like this:
+
+```{r SimpleExampleRiskValuesPremCode, eval=F}
+contract.L71U$Values$premiums
+```
+```{r SimpleExampleRiskValuesPremOut, echo=F}
+contract.L71U$Values$premiums %>% kable
+```
+```{r SimpleExampleRiskValuesResCode, eval=F}
+contract.L71U$Values$reserves
+```
+```{r SimpleExampleRiskValuesResOut, echo=F}
+contract.L71U$Values$reserves %>% pander()
+```
+
+Looking back at the definition of the tariff, the only spot where the type of
+insurance actually came in was the \code{type} argument of the [InsuranceTarif]
+definition. This is one of the most important flags and is central to correct
+implementation of a tarif. On the other hand, all it does is to cause different
+vectors of survival, death and guaranteed cash flows. Once the cash flows are 
+determined, the insurance contract and tariff does not need the insurance type
+any more.
+
+In our term life example, the insurance contract's unit cash flows are 1 for death 
+benefits (both when premiums are paid and when the contract is paid-up) and for
+premiums in advance. All other cash flows (guaranteed, survival or disease cash 
+flows) are zero. Similarly, the cost structure described above and implemented
+by the [LifeInsuranceContracts::initializeCosts()] function defines all cost cash
+flows, which are the starting point for all further calculations (only relevant 
+columns of the data.frame are shown):
+
+```{r SimpleExampleRiskCFCode, eval=F}
+contract.L71U$Values$cashFlows
+```
+```{r SimpleExampleRiskCFOut, echo=F}
+contract.L71U$Values$cashFlows %>% select(starts_with('premiums'), starts_with('death'), -death_Refund_past ) %>% pander()
+```
+```{r SimpleExampleRiskCFCostCode, eval=F}
+contract.L71U$Values$cashFlowsCosts
+```
+```{r SimpleExampleRiskCFCostOut, echo=F}
+contract.L71U$Values$cashFlowsCosts
+```
+
+Once these unit cash flows are set, all insurance contracts are handled identically.
+First, present values of each of the cash flows are calculated, from which 
+the premiums can be calculated by the equivalence principle.
+
+```{r SimpleExampleRiskPVCode, eval=F}
+contract.L71U$Values$presentValues
+```
+```{r SimpleExampleRiskPVOut, echo=F}
+contract.L71U$Values$presentValues %>% as.data.frame() %>% select(starts_with('premiums'), starts_with('death'), -death_Refund_past ) %>% pander(round=5)
+```
+```{r SimpleExampleRiskPVCostCode, eval=F}
+contract.L71U$Values$presentValuesCosts
+```
+```{r SimpleExampleRiskPVCostOut, echo=F}
+contract.L71U$Values$presentValuesCosts
+```
+```{r SimpleExampleRiskPVPremCode, eval=F}
+contract.L71U$Values$premiums
+```
+```{r SimpleExampleRiskPVPremOut, echo=F}
+contract.L71U$Values$premiums %>% data.frame() %>% pander()
+```
+
+The actual calculation of the premiums has to be in the order gross premium, 
+Zillmer premiuem, then net premium. The reason for this particular order is that
+some tariffs have a gross premium refund in case of death. So to calculate the
+net premium, the gross premium is required. 
+
+The premiums allow the unit cash flows and present values to be converted to 
+monetary terms (fields \code{contract.L71U$Values$absCashFlows} and 
+\code{contract.L71U$Values$absPresentValues}). Also, the reserves of the 
+contract can be calculated.
+
+```{r SimpleExampleRiskPremiumsCode, eval=F}
+contract.L71U$Values$reserves
+```
+```{r SimpleExampleRiskPremiumsOut, echo=F}
+contract.L71U$Values$reserves %>% pander(digits=2)
+```
+
+Also, the premium composition into costs, risk premium, savings premium and 
+other components is possible.
+
+```{r SimpleExampleRiskPremiumCompositionCode, eval=F}
+contract.L71U$Values$premiumComposition
+```
+```{r SimpleExampleRiskPremiumCompositionOut, echo=F}
+contract.L71U$Values$premiumComposition %>% as.data.frame() %>% select(-loading.frequency, -rebate.premium, -rebate.partner, -profit.advance, -rebate.sum, -charge.noMedicalExam, -premium.risk.actual, -premium.risk.security, -risk.disease, -premium.risk.disease.actual, -premium.risk.disease.security, -starts_with('Zillmer')) %>% pander()
+```
+
+
+
+
+As we see, the whole history and future of the contract is calculated as soon 
+as it is created. It is, however, also possible to modify a contract later on,
+e.g. by stopping premium payments and converting it to a paid-up contract.
+
+```{r SimpleExampleRiskConversionCode, eval=F}
+contract.L71U = contract.L71U$premiumWaiver(t = 3)
+contract.L71U$Values$reserves
+```
+```{r SimpleExampleRiskConversionOut, echo=F}
+contract.L71U = contract.L71U$premiumWaiver(t = 3)
+contract.L71U$Values$reserves %>% pander()
+```
+
+
+## Creating tables with various parameters
+
+When prototyping a new product or creating marketing material, it is often needed
+to create tables of premiums, reserves, benefits or surrender values for different
+parameters (e.g. different ages, maturities and sums insured for the marketing 
+department, or different guaranteed interest rates, mortality tables or costs 
+for the product development group). 
+
+This can be easily done by the functions [contractGridPremium()] or [contractGrid()].
+They take one argument \code{axes}, which gives the parameters for the axes of
+the table (more than two dimensions are possible!), while all other parameters
+are passed unchanged to [InsuranceContract$new()].
+
+
+First, let us create a grid of premiums for different ages and maturities (for 
+sum insured 100,000 Euro):
+```{r SimpleExampleRiskPremiumGrid}
+contractGridPremium(
+  axes = list(age = seq(20, 80, 5), policyPeriod = seq(10, 40, 5)),
+  tarif = Tarif.L71U, 
+  contractClosing = as.Date("2020-08-18"), 
+  sumInsured = 100000
+)
+```
+
+One can also pass more than two dimensions to the axes:
+```{r SimpleExampleRiskPremiumGrid3D}
+contractGridPremium(
+  axes = list(age = seq(20, 80, 10), policyPeriod = seq(10, 40, 10), sumInsured = c(10000, 50000, 100000)),
+  tarif = Tarif.L71U, 
+  contractClosing = as.Date("2020-08-18")
+)
+```
+
+
+One can use any of the parameters of the [InsuranceContract$new()] call in the
+\code{axes} argument, even the \code{tarif} or \code{mortalityTable} parameters. 
+This means that one can create tables comparing different tariffs, or showing
+the effect of different life tables.
+
+In the following example, we use the tarif \code{Tarif.L71U}, but instead of the
+unisex table (mixed 65:35 from male:female tables), we use the male mortality tables
+of the Austrian census from 1870 to 2011 (with a contract period of 10 years fixed, and varying ages):
+
+```{r SimpleExampleRiskPremiumGridLifeTables}
+contractGridPremium(
+  axes = list(mortalityTable = mort.AT.census["m", ], age = seq(20, 80, 10)),
+  tarif = Tarif.L71U, 
+  sumInsured = 100000,
+  contractClosing = as.Date("2020-08-18")
+) %>% pander(round=1, digits=15, keep.trailing.zeros = T)
+```
+
+
+# All possible parameters and their default values
+
+All possible parameters of an insurance contract are stored in sub-lists of a a structure 
+[InsuranceContract.Parameters]. If not provided by the call to [InsuranceContract$new()], 
+the values will be taken from either the [InsuranceTariff]'s default parameters, 
+the [ProfitParticipation]'s default parameters or the global defaults in the 
+[InsuranceContract.ParameterDefault]. The cascade or parameters is (from top to
+bottom):
+
+* explicit parameters passed to [InsuranceContract$addProfitScenario()] (applies 
+  only for the added profit scenario)
+* explicit parameters passed to [InsuranceContract$new()] or [InsuranceContract$clone()]
+* parameters set with the [ProfitParticipation]
+* parameters set with the [InsuranceTarif]
+* Default values set in [InsuranceContract.ParameterDefaults]
+
+In addition to the parameters listed below, the [InsuranceContract$new()] 
+constructor function takes the following parameters
+
+\define{
+\item{tarif}{The [InsuranceTarif] object describing the tarif}
+\item{parent}{For contracts with multiple parts, children get passed a pointer to the parent}
+\item{calculate}{How much of the contract to calculate (by default everything will be calculated)}
+\item{profitid}{The profit ID for contracts with profit participation}
+}
 
-## Contract/Tariff parameter structure an default values
 ```{r}
 str(InsuranceContract.ParameterDefaults)
 ```
 ```{r, results="asis"}
 
-#pandoc.listRK(InsuranceContract.ParameterDefaults)
+# pandoc.listRK(InsuranceContract.ParameterDefaults)
 ```
+
+
+# Tarif Specification and implementation of a concrete contract
+
+An insurance contract is modelled by the abstract product specification 
+([InsuranceTarif] class) and the concrete (individualized) [InsuranceContract]. 
+
+* The [InsuranceTarif] object describes the product in abstract terms, holds
+  default parameters and provides all calculation functions for cash flows, 
+  present values, premiums and reserves (provided the contract's actual Parameters).
+  It does not, however, hold contract-specific data.
+* The [InsuranceContract] object holds the individual contract data (like age, contract 
+  closing date, sum insured, etc.) that override the tariff's defaults. It also 
+  holds a pointer to the insurance tariff and provides the general logic to
+  calculate all parts of an insurance contract by calling the corresponding 
+  functions of the tariff.
+
+```{r TarifDefinition}
+riskTarif = InsuranceTarif$new(
+  name = "Example Risk Tarif", 
+  
+)
+
+
+
+```
+
+# Cost structure
+
+Costs of an insurance contracts can have
+
+# Calculation approach: Cash flows, present values, premiums and reserves
+
+
+# Creating premium and contract grids
+
+# Exporting contract data to Excel
+
+# Advance profit participation (premium rebate)
+
+
+# Profit participation schemes
+
+
+# Modifying the default calculation approach
diff --git a/vignettes/using-the-lifeinsurancecontracts-package.html b/vignettes/using-the-lifeinsurancecontracts-package.html
index 774a48e4d3efd5b56cee34abd7a44151fc18544a..c48b5456ad8eba13b498ea8bf197f0543d703407 100644
--- a/vignettes/using-the-lifeinsurancecontracts-package.html
+++ b/vignettes/using-the-lifeinsurancecontracts-package.html
@@ -11,7 +11,7 @@
 <meta name="viewport" content="width=device-width, initial-scale=1" />
 
 
-<meta name="date" content="2020-08-12" />
+<meta name="date" content="2020-08-21" />
 
 <title>Using the LifeInsuranceContracts Package</title>
 
@@ -321,110 +321,7149 @@ code > span.er { color: #a61717; background-color: #e3d2d2; }
 <address class="author_afil">
 Open Tools<br><a class="author_email" href="mailto:#"><a href="mailto:reinhold@kainhofer.com" class="email">reinhold@kainhofer.com</a></a>
 </address>
-<h4 class="date">2020-08-12</h4>
+<h4 class="date">2020-08-21</h4>
 
 
 <div id="TOC">
 <ul>
-<li><a href="#contracttariff-parameter-structure-an-default-values">Contract/Tariff parameter structure an default values</a></li>
+<li><a href="#general-overview-of-the-concepts"><span class="toc-section-number">1</span> General Overview of the Concepts</a></li>
+<li><a href="#a-simple-example-term-life-insurance"><span class="toc-section-number">2</span> A simple example: Term life insurance</a><ul>
+<li><a href="#tarif-description"><span class="toc-section-number">2.1</span> Tarif description</a></li>
+<li><a href="#tariff-implementation-as-an-insurancetarif-object"><span class="toc-section-number">2.2</span> Tariff implementation as an InsuranceTarif object</a></li>
+<li><a href="#calculating-one-particular-contract-with-the-given-tariff"><span class="toc-section-number">2.3</span> Calculating one particular contract with the given tariff</a></li>
+<li><a href="#creating-tables-with-various-parameters"><span class="toc-section-number">2.4</span> Creating tables with various parameters</a></li>
+</ul></li>
+<li><a href="#all-possible-parameters-and-their-default-values"><span class="toc-section-number">3</span> All possible parameters and their default values</a></li>
+<li><a href="#tarif-specification-and-implementation-of-a-concrete-contract"><span class="toc-section-number">4</span> Tarif Specification and implementation of a concrete contract</a></li>
+<li><a href="#cost-structure"><span class="toc-section-number">5</span> Cost structure</a></li>
+<li><a href="#calculation-approach-cash-flows-present-values-premiums-and-reserves"><span class="toc-section-number">6</span> Calculation approach: Cash flows, present values, premiums and reserves</a></li>
+<li><a href="#advance-profit-participation-premium-rebate"><span class="toc-section-number">7</span> Advance profit participation (premium rebate)</a></li>
+<li><a href="#profit-participation-schemes"><span class="toc-section-number">8</span> Profit participation schemes</a></li>
+<li><a href="#modifying-the-default-calculation-approach"><span class="toc-section-number">9</span> Modifying the default calculation approach</a></li>
 </ul>
 </div>
 
 <p>The LifeInsuranceContracts package provides a full-featured framework to model classical life insurance contracts (non-unit linked). Mathematically, a general life insurance contracts can be defined using death and survival (and disability) benefit vectors to define the cash flows and calculate all premiums and reserves recursively. This powerful approach is taken by the LifeInsuranceContracts package to provide the most flexible contract modelling framework in R.</p>
-<div id="contracttariff-parameter-structure-an-default-values" class="section level2">
-<h2>Contract/Tariff parameter structure an default values</h2>
-<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb1-1"><a href="#cb1-1"></a><span class="kw">str</span>(InsuranceContract.ParameterDefaults)</span>
-<span id="cb1-2"><a href="#cb1-2"></a><span class="co">#&gt; List of 8</span></span>
-<span id="cb1-3"><a href="#cb1-3"></a><span class="co">#&gt;  $ ContractData       :List of 23</span></span>
-<span id="cb1-4"><a href="#cb1-4"></a><span class="co">#&gt;   ..$ id                    : chr &quot;Hauptvertrag&quot;</span></span>
-<span id="cb1-5"><a href="#cb1-5"></a><span class="co">#&gt;   ..$ sumInsured            : num 1e+05</span></span>
-<span id="cb1-6"><a href="#cb1-6"></a><span class="co">#&gt;   ..$ YOB                   : NULL</span></span>
-<span id="cb1-7"><a href="#cb1-7"></a><span class="co">#&gt;   ..$ age                   : NULL</span></span>
-<span id="cb1-8"><a href="#cb1-8"></a><span class="co">#&gt;   ..$ technicalAge          : NULL</span></span>
-<span id="cb1-9"><a href="#cb1-9"></a><span class="co">#&gt;   ..$ ageDifferences        : NULL</span></span>
-<span id="cb1-10"><a href="#cb1-10"></a><span class="co">#&gt;   ..$ sex                   : chr &quot;unisex&quot;</span></span>
-<span id="cb1-11"><a href="#cb1-11"></a><span class="co">#&gt;   ..$ policyPeriod          : num 25</span></span>
-<span id="cb1-12"><a href="#cb1-12"></a><span class="co">#&gt;   ..$ premiumPeriod         : NULL</span></span>
-<span id="cb1-13"><a href="#cb1-13"></a><span class="co">#&gt;   ..$ deferralPeriod        : num 0</span></span>
-<span id="cb1-14"><a href="#cb1-14"></a><span class="co">#&gt;   ..$ guaranteedPeriod      : num 0</span></span>
-<span id="cb1-15"><a href="#cb1-15"></a><span class="co">#&gt;   ..$ contractClosing       : NULL</span></span>
-<span id="cb1-16"><a href="#cb1-16"></a><span class="co">#&gt;   ..$ blockStart            : num 0</span></span>
-<span id="cb1-17"><a href="#cb1-17"></a><span class="co">#&gt;   ..$ premiumPayments       : chr &quot;in advance&quot;</span></span>
-<span id="cb1-18"><a href="#cb1-18"></a><span class="co">#&gt;   ..$ benefitPayments       : chr &quot;in advance&quot;</span></span>
-<span id="cb1-19"><a href="#cb1-19"></a><span class="co">#&gt;   ..$ premiumFrequency      : num 1</span></span>
-<span id="cb1-20"><a href="#cb1-20"></a><span class="co">#&gt;   ..$ benefitFrequency      : num 1</span></span>
-<span id="cb1-21"><a href="#cb1-21"></a><span class="co">#&gt;   ..$ widowProportion       : num 0</span></span>
-<span id="cb1-22"><a href="#cb1-22"></a><span class="co">#&gt;   ..$ deathBenefitProportion: num 1</span></span>
-<span id="cb1-23"><a href="#cb1-23"></a><span class="co">#&gt;   ..$ premiumRefund         : num 0</span></span>
-<span id="cb1-24"><a href="#cb1-24"></a><span class="co">#&gt;   ..$ premiumIncrease       : num 1</span></span>
-<span id="cb1-25"><a href="#cb1-25"></a><span class="co">#&gt;   ..$ annuityIncrease       : num 1</span></span>
-<span id="cb1-26"><a href="#cb1-26"></a><span class="co">#&gt;   ..$ deathBenefit          : num 1</span></span>
-<span id="cb1-27"><a href="#cb1-27"></a><span class="co">#&gt;  $ ContractState      :List of 3</span></span>
-<span id="cb1-28"><a href="#cb1-28"></a><span class="co">#&gt;   ..$ premiumWaiver   : logi FALSE</span></span>
-<span id="cb1-29"><a href="#cb1-29"></a><span class="co">#&gt;   ..$ surrenderPenalty: logi TRUE</span></span>
-<span id="cb1-30"><a href="#cb1-30"></a><span class="co">#&gt;   ..$ alphaRefunded   : logi FALSE</span></span>
-<span id="cb1-31"><a href="#cb1-31"></a><span class="co">#&gt;  $ ActuarialBases     :List of 9</span></span>
-<span id="cb1-32"><a href="#cb1-32"></a><span class="co">#&gt;   ..$ mortalityTable           : NULL</span></span>
-<span id="cb1-33"><a href="#cb1-33"></a><span class="co">#&gt;   ..$ invalidityTable          : NULL</span></span>
-<span id="cb1-34"><a href="#cb1-34"></a><span class="co">#&gt;   ..$ invalidityEndsContract   : logi TRUE</span></span>
-<span id="cb1-35"><a href="#cb1-35"></a><span class="co">#&gt;   ..$ i                        : num 0</span></span>
-<span id="cb1-36"><a href="#cb1-36"></a><span class="co">#&gt;   ..$ balanceSheetDate         : Date[1:1], format: &quot;1900-12-31&quot;</span></span>
-<span id="cb1-37"><a href="#cb1-37"></a><span class="co">#&gt;   ..$ balanceSheetMethod       : chr &quot;30/360&quot;</span></span>
-<span id="cb1-38"><a href="#cb1-38"></a><span class="co">#&gt;   ..$ surrenderValueCalculation: NULL</span></span>
-<span id="cb1-39"><a href="#cb1-39"></a><span class="co">#&gt;   ..$ premiumFrequencyOrder    : num 0</span></span>
-<span id="cb1-40"><a href="#cb1-40"></a><span class="co">#&gt;   ..$ benefitFrequencyOrder    : num 0</span></span>
-<span id="cb1-41"><a href="#cb1-41"></a><span class="co">#&gt;  $ Costs              : num [1:6, 1:6, 1:4] 0 0 0 0 0 0 0 0 0 0 ...</span></span>
-<span id="cb1-42"><a href="#cb1-42"></a><span class="co">#&gt;   ..- attr(*, &quot;dimnames&quot;)=List of 3</span></span>
-<span id="cb1-43"><a href="#cb1-43"></a><span class="co">#&gt;   .. ..$ type     : chr [1:6] &quot;alpha&quot; &quot;Zillmer&quot; &quot;beta&quot; &quot;gamma&quot; ...</span></span>
-<span id="cb1-44"><a href="#cb1-44"></a><span class="co">#&gt;   .. ..$ basis    : chr [1:6] &quot;SumInsured&quot; &quot;SumPremiums&quot; &quot;GrossPremium&quot; &quot;NetPremium&quot; ...</span></span>
-<span id="cb1-45"><a href="#cb1-45"></a><span class="co">#&gt;   .. ..$ frequency: chr [1:4] &quot;once&quot; &quot;PremiumPeriod&quot; &quot;PremiumFree&quot; &quot;PolicyPeriod&quot;</span></span>
-<span id="cb1-46"><a href="#cb1-46"></a><span class="co">#&gt;  $ Loadings           :List of 13</span></span>
-<span id="cb1-47"><a href="#cb1-47"></a><span class="co">#&gt;   ..$ ongoingAlphaGrossPremium: num 0</span></span>
-<span id="cb1-48"><a href="#cb1-48"></a><span class="co">#&gt;   ..$ tax                     : num 0.04</span></span>
-<span id="cb1-49"><a href="#cb1-49"></a><span class="co">#&gt;   ..$ unitcosts               : num 0</span></span>
-<span id="cb1-50"><a href="#cb1-50"></a><span class="co">#&gt;   ..$ security                : num 0</span></span>
-<span id="cb1-51"><a href="#cb1-51"></a><span class="co">#&gt;   ..$ noMedicalExam           : num 0</span></span>
-<span id="cb1-52"><a href="#cb1-52"></a><span class="co">#&gt;   ..$ noMedicalExamRelative   : num 0</span></span>
-<span id="cb1-53"><a href="#cb1-53"></a><span class="co">#&gt;   ..$ sumRebate               : num 0</span></span>
-<span id="cb1-54"><a href="#cb1-54"></a><span class="co">#&gt;   ..$ extraRebate             : num 0</span></span>
-<span id="cb1-55"><a href="#cb1-55"></a><span class="co">#&gt;   ..$ premiumRebate           : num 0</span></span>
-<span id="cb1-56"><a href="#cb1-56"></a><span class="co">#&gt;   ..$ partnerRebate           : num 0</span></span>
-<span id="cb1-57"><a href="#cb1-57"></a><span class="co">#&gt;   ..$ extraChargeGrossPremium : num 0</span></span>
-<span id="cb1-58"><a href="#cb1-58"></a><span class="co">#&gt;   ..$ benefitFrequencyLoading :List of 4</span></span>
-<span id="cb1-59"><a href="#cb1-59"></a><span class="co">#&gt;   .. ..$ 1 : num 0</span></span>
-<span id="cb1-60"><a href="#cb1-60"></a><span class="co">#&gt;   .. ..$ 2 : num 0</span></span>
-<span id="cb1-61"><a href="#cb1-61"></a><span class="co">#&gt;   .. ..$ 4 : num 0</span></span>
-<span id="cb1-62"><a href="#cb1-62"></a><span class="co">#&gt;   .. ..$ 12: num 0</span></span>
-<span id="cb1-63"><a href="#cb1-63"></a><span class="co">#&gt;   ..$ premiumFrequencyLoading :List of 4</span></span>
-<span id="cb1-64"><a href="#cb1-64"></a><span class="co">#&gt;   .. ..$ 1 : num 0</span></span>
-<span id="cb1-65"><a href="#cb1-65"></a><span class="co">#&gt;   .. ..$ 2 : num 0</span></span>
-<span id="cb1-66"><a href="#cb1-66"></a><span class="co">#&gt;   .. ..$ 4 : num 0</span></span>
-<span id="cb1-67"><a href="#cb1-67"></a><span class="co">#&gt;   .. ..$ 12: num 0</span></span>
-<span id="cb1-68"><a href="#cb1-68"></a><span class="co">#&gt;  $ Features           :List of 2</span></span>
-<span id="cb1-69"><a href="#cb1-69"></a><span class="co">#&gt;   ..$ betaGammaInZillmer: logi FALSE</span></span>
-<span id="cb1-70"><a href="#cb1-70"></a><span class="co">#&gt;   ..$ alphaRefundLinear : logi TRUE</span></span>
-<span id="cb1-71"><a href="#cb1-71"></a><span class="co">#&gt;  $ ProfitParticipation:List of 16</span></span>
-<span id="cb1-72"><a href="#cb1-72"></a><span class="co">#&gt;   ..$ advanceProfitParticipation            : num 0</span></span>
-<span id="cb1-73"><a href="#cb1-73"></a><span class="co">#&gt;   ..$ advanceProfitParticipationInclUnitCost: num 0</span></span>
-<span id="cb1-74"><a href="#cb1-74"></a><span class="co">#&gt;   ..$ waitingPeriod                         : NULL</span></span>
-<span id="cb1-75"><a href="#cb1-75"></a><span class="co">#&gt;   ..$ guaranteedInterest                    : NULL</span></span>
-<span id="cb1-76"><a href="#cb1-76"></a><span class="co">#&gt;   ..$ interestProfitRate                    : NULL</span></span>
-<span id="cb1-77"><a href="#cb1-77"></a><span class="co">#&gt;   ..$ totalInterest                         : NULL</span></span>
-<span id="cb1-78"><a href="#cb1-78"></a><span class="co">#&gt;   ..$ mortalityProfitRate                   : NULL</span></span>
-<span id="cb1-79"><a href="#cb1-79"></a><span class="co">#&gt;   ..$ expenseProfitRate                     : NULL</span></span>
-<span id="cb1-80"><a href="#cb1-80"></a><span class="co">#&gt;   ..$ sumProfitRate                         : NULL</span></span>
-<span id="cb1-81"><a href="#cb1-81"></a><span class="co">#&gt;   ..$ terminalBonusRate                     : NULL</span></span>
-<span id="cb1-82"><a href="#cb1-82"></a><span class="co">#&gt;   ..$ terminalBonusFundRate                 : NULL</span></span>
-<span id="cb1-83"><a href="#cb1-83"></a><span class="co">#&gt;   ..$ profitParticipationScheme             : NULL</span></span>
-<span id="cb1-84"><a href="#cb1-84"></a><span class="co">#&gt;   ..$ profitComponents                      : chr [1:5] &quot;interest&quot; &quot;risk&quot; &quot;expense&quot; &quot;sum&quot; ...</span></span>
-<span id="cb1-85"><a href="#cb1-85"></a><span class="co">#&gt;   ..$ profitClass                           : NULL</span></span>
-<span id="cb1-86"><a href="#cb1-86"></a><span class="co">#&gt;   ..$ profitRates                           : NULL</span></span>
-<span id="cb1-87"><a href="#cb1-87"></a><span class="co">#&gt;   ..$ scenarios                             : list()</span></span>
-<span id="cb1-88"><a href="#cb1-88"></a><span class="co">#&gt;  $ Hooks              :List of 2</span></span>
-<span id="cb1-89"><a href="#cb1-89"></a><span class="co">#&gt;   ..$ adjustCashFlows     : NULL</span></span>
-<span id="cb1-90"><a href="#cb1-90"></a><span class="co">#&gt;   ..$ adjustCashFlowsCosts: NULL</span></span></code></pre></div>
-<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb2-1"><a href="#cb2-1"></a></span>
-<span id="cb2-2"><a href="#cb2-2"></a><span class="co">#pandoc.listRK(InsuranceContract.ParameterDefaults)</span></span></code></pre></div>
+<div id="general-overview-of-the-concepts" class="section level1">
+<h1><span class="header-section-number">1</span> General Overview of the Concepts</h1>
+<p>An insurance contract is described by three different objects;</p>
+<ul>
+<li>contract-specific parameters (age, maturity, sum insured, etc.).</li>
+<li>[InsuranceTarif]: The general (contract-independent) description of the insurance product (benefits, present values / reserves, premium calculation, premium waivers, surrender value, reserve calculation, premium decomposition). It does not store any values (only tarif-provided default values for the insurance contract), but provides all calculation functions. The implementation is based on a general approach using cash flows (depending on the type of insurance). Once the cash flows (survival, death and guaranteed) are defined for all time steps, all further calculations are idential for all different kinds of life insurance.</li>
+<li>object describes the profit participation (like the [InsuranceTarif] object describes the guaranteed payments) and us used by the <a href="The%20object%20describing%20the%20actual%20contract%20with%20all">InsuranceContract</a> object.</li>
+</ul>
+<p>While this might at first seem a bit complicated, it allows for very generic implementations of life insurance products and contracts.</p>
+</div>
+<div id="a-simple-example-term-life-insurance" class="section level1">
+<h1><span class="header-section-number">2</span> A simple example: Term life insurance</h1>
+<p>To understand how the package implements life insurance contracts, let us look at a simple example:</p>
+<div id="tarif-description" class="section level2">
+<h2><span class="header-section-number">2.1</span> Tarif description</h2>
+<p>Term Life Insurance</p>
+<ul>
+<li>Public product name ‘<strong>DeathPlus - Short Term Life Insurance</strong>’, Internal ID ‘<strong>L71-U</strong>’</li>
+<li>Only <strong>death benefits</strong>, no survival benefits</li>
+<li><strong>Mortality table</strong>: Austrian 2010/12 census table unisex (mixed 65:35 from the male:female tables)</li>
+<li><strong>Guaranteed interest rate</strong>: 0.5%</li>
+<li>Default contract duration: 10 years</li>
+<li><strong>Regular premium</strong> payments (constant premiums) during the whole contract <!-- * premiums paid more often than once a year in advance get the following surcharge: --> <!--     * yearly premiums: 0% surcharge --> <!--     * half-yearly premiums: 1% surcharge --> <!--     * quarterly premiums: 1.5% surcharge --> <!--     * monthly premiums: 2% surcharge --></li>
+</ul>
+<p><strong>Costs</strong>:</p>
+<ul>
+<li>Aquisition costs: 5% of the total premium sum</li>
+<li>Administration cost: 1% of the sum insured per year (both during premium payments as well as for paid-up contracts)</li>
+<li>Unit costs: 10 Euro per year (fixed) during premium payments</li>
+<li>Tax: 4% insurance tax (default)</li>
+</ul>
+<p>Surrender Value:</p>
+<ul>
+<li>Reserve minus 10% surrender penalty, also applied on premium waiver</li>
+</ul>
+</div>
+<div id="tariff-implementation-as-an-insurancetarif-object" class="section level2">
+<h2><span class="header-section-number">2.2</span> Tariff implementation as an InsuranceTarif object</h2>
+<div class="sourceCode" id="cb1"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb1-1"><a href="#cb1-1"></a><span class="kw">library</span>(magrittr)</span>
+<span id="cb1-2"><a href="#cb1-2"></a><span class="kw">library</span>(MortalityTables)</span>
+<span id="cb1-3"><a href="#cb1-3"></a><span class="co">#&gt; Lade nötiges Paket: ggplot2</span></span>
+<span id="cb1-4"><a href="#cb1-4"></a><span class="co">#&gt; Lade nötiges Paket: scales</span></span>
+<span id="cb1-5"><a href="#cb1-5"></a><span class="co">#&gt; Lade nötiges Paket: pracma</span></span>
+<span id="cb1-6"><a href="#cb1-6"></a><span class="co">#&gt; </span></span>
+<span id="cb1-7"><a href="#cb1-7"></a><span class="co">#&gt; Attache Paket: &#39;pracma&#39;</span></span>
+<span id="cb1-8"><a href="#cb1-8"></a><span class="co">#&gt; The following objects are masked from &#39;package:magrittr&#39;:</span></span>
+<span id="cb1-9"><a href="#cb1-9"></a><span class="co">#&gt; </span></span>
+<span id="cb1-10"><a href="#cb1-10"></a><span class="co">#&gt;     and, mod, or</span></span>
+<span id="cb1-11"><a href="#cb1-11"></a><span class="kw">library</span>(LifeInsuranceContracts)</span>
+<span id="cb1-12"><a href="#cb1-12"></a><span class="kw">mortalityTables.load</span>(<span class="st">&quot;Austria_Census&quot;</span>)</span>
+<span id="cb1-13"><a href="#cb1-13"></a><span class="co">#&gt; Loading table dataset &#39;Austria_Census&#39;</span></span>
+<span id="cb1-14"><a href="#cb1-14"></a></span>
+<span id="cb1-15"><a href="#cb1-15"></a>Tarif.L71U =<span class="st"> </span>InsuranceTarif<span class="op">$</span><span class="kw">new</span>(</span>
+<span id="cb1-16"><a href="#cb1-16"></a>    <span class="dt">name =</span> <span class="st">&quot;L71-U&quot;</span>,</span>
+<span id="cb1-17"><a href="#cb1-17"></a>    <span class="dt">type =</span> <span class="st">&quot;wholelife&quot;</span>,</span>
+<span id="cb1-18"><a href="#cb1-18"></a>    <span class="dt">tarif =</span> <span class="st">&quot;DeathPlus - Short Term Life Insurance&quot;</span>,</span>
+<span id="cb1-19"><a href="#cb1-19"></a>    <span class="dt">desc =</span> <span class="st">&quot;Term Life insurance (10 years) with constant sum insured and regular premiums&quot;</span>,</span>
+<span id="cb1-20"><a href="#cb1-20"></a>    <span class="dt">policyPeriod =</span> <span class="dv">10</span>, <span class="dt">premiumPeriod =</span> <span class="dv">10</span>,  <span class="co"># premiumPeriod not needed, defaults to maturity</span></span>
+<span id="cb1-21"><a href="#cb1-21"></a></span>
+<span id="cb1-22"><a href="#cb1-22"></a>    <span class="dt">mortalityTable =</span> <span class="kw">mortalityTable.mixed</span>(</span>
+<span id="cb1-23"><a href="#cb1-23"></a>      <span class="dt">table1 =</span> mort.AT.census.<span class="fl">2011.</span>male, <span class="dt">weight1 =</span> <span class="fl">0.65</span>, </span>
+<span id="cb1-24"><a href="#cb1-24"></a>      <span class="dt">table2 =</span> mort.AT.census.<span class="fl">2011.</span>female, <span class="dt">weight2 =</span> <span class="fl">0.35</span></span>
+<span id="cb1-25"><a href="#cb1-25"></a>    ),</span>
+<span id="cb1-26"><a href="#cb1-26"></a>    <span class="dt">i =</span> <span class="fl">0.005</span>, </span>
+<span id="cb1-27"><a href="#cb1-27"></a>    <span class="dt">tax =</span> <span class="fl">0.04</span>, </span>
+<span id="cb1-28"><a href="#cb1-28"></a>    <span class="dt">costs =</span> <span class="kw">initializeCosts</span>(<span class="dt">alpha =</span> <span class="fl">0.05</span>, <span class="dt">gamma =</span> <span class="fl">0.01</span>, <span class="dt">gamma.paidUp =</span> <span class="fl">0.01</span>, <span class="dt">unitcosts =</span> <span class="dv">10</span>),</span>
+<span id="cb1-29"><a href="#cb1-29"></a>    <span class="dt">surrenderValueCalculation =</span> <span class="cf">function</span>(surrenderReserve, params, values) { </span>
+<span id="cb1-30"><a href="#cb1-30"></a>      surrenderReserve <span class="op">*</span><span class="st"> </span><span class="fl">0.9</span> </span>
+<span id="cb1-31"><a href="#cb1-31"></a>    }</span>
+<span id="cb1-32"><a href="#cb1-32"></a>);</span></code></pre></div>
+</div>
+<div id="calculating-one-particular-contract-with-the-given-tariff" class="section level2">
+<h2><span class="header-section-number">2.3</span> Calculating one particular contract with the given tariff</h2>
+<p>With the above product / tariff definition, it is now easy to instantiate one particular contract for this tariff. All we need to do is pass the tariff and the corresponding contract-specific information (mainly age, sum insured and contract closing) to the <a href="The%20object%20describing%20the%20actual%20contract%20with%20all">InsuranceContract</a> object:</p>
+<div class="sourceCode" id="cb2"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb2-1"><a href="#cb2-1"></a>contract.L71U  =<span class="st"> </span>InsuranceContract<span class="op">$</span><span class="kw">new</span>(</span>
+<span id="cb2-2"><a href="#cb2-2"></a>  Tarif.L71U, </span>
+<span id="cb2-3"><a href="#cb2-3"></a>  <span class="dt">age =</span> <span class="dv">35</span>, </span>
+<span id="cb2-4"><a href="#cb2-4"></a>  <span class="dt">contractClosing =</span> <span class="kw">as.Date</span>(<span class="st">&quot;2020-08-18&quot;</span>), </span>
+<span id="cb2-5"><a href="#cb2-5"></a>  <span class="dt">sumInsured =</span> <span class="dv">100000</span>);</span></code></pre></div>
+<p>Just creating the contract will already calculate all cash flows, present values, premiums, reserves, etc. for the whole contract period. They can be accessed through the  list.</p>
+<p>A full list of all possible arguments can be found in the section <a href="#all-possible-parameters-and-their-default-values">All possible parameters and their default values</a>.</p>
+<p>Once the contract is created, all values can be accessed like this:</p>
+<div class="sourceCode" id="cb3"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb3-1"><a href="#cb3-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>premiums <span class="op">%&gt;%</span><span class="st"> </span>kable</span></code></pre></div>
+<table>
+<thead>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+x
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left;">
+unit.net
+</td>
+<td style="text-align:right;">
+0.0010366
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+unit.Zillmer
+</td>
+<td style="text-align:right;">
+0.0010366
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+unit.gross
+</td>
+<td style="text-align:right;">
+0.0116337
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+net
+</td>
+<td style="text-align:right;">
+103.6556459
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Zillmer
+</td>
+<td style="text-align:right;">
+103.6556459
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+gross
+</td>
+<td style="text-align:right;">
+1163.3700119
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+unitcost
+</td>
+<td style="text-align:right;">
+10.0000000
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+written_yearly
+</td>
+<td style="text-align:right;">
+1220.3048124
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+written_beforetax
+</td>
+<td style="text-align:right;">
+1173.3700119
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+tax
+</td>
+<td style="text-align:right;">
+46.9348005
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+written
+</td>
+<td style="text-align:right;">
+1220.3048124
+</td>
+</tr>
+</tbody>
+</table>
+<div class="sourceCode" id="cb4"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb4-1"><a href="#cb4-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>reserves <span class="op">%&gt;%</span><span class="st"> </span><span class="kw">kable</span>(<span class="dt">digits=</span><span class="dv">2</span>)</span></code></pre></div>
+<table>
+<thead>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+SumInsured
+</th>
+<th style="text-align:right;">
+net
+</th>
+<th style="text-align:right;">
+Zillmer
+</th>
+<th style="text-align:right;">
+adequate
+</th>
+<th style="text-align:right;">
+gamma
+</th>
+<th style="text-align:right;">
+contractual
+</th>
+<th style="text-align:right;">
+conversion
+</th>
+<th style="text-align:right;">
+alphaRefund
+</th>
+<th style="text-align:right;">
+reduction
+</th>
+<th style="text-align:right;">
+PremiumsPaid
+</th>
+<th style="text-align:right;">
+Surrender
+</th>
+<th style="text-align:right;">
+PremiumFreeSumInsured
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left;">
+0
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+1
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+-491.08
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+2326.74
+</td>
+<td style="text-align:right;">
+30.48
+</td>
+<td style="text-align:right;">
+313.05
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+2
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+-404.73
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+3490.11
+</td>
+<td style="text-align:right;">
+56.87
+</td>
+<td style="text-align:right;">
+652.78
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+3
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+-323.27
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+4653.48
+</td>
+<td style="text-align:right;">
+78.57
+</td>
+<td style="text-align:right;">
+1023.64
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+4
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+-247.59
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+5816.85
+</td>
+<td style="text-align:right;">
+94.79
+</td>
+<td style="text-align:right;">
+1430.17
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+5
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+116.17
+</td>
+<td style="text-align:right;">
+116.17
+</td>
+<td style="text-align:right;">
+-178.78
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+116.17
+</td>
+<td style="text-align:right;">
+116.17
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+116.17
+</td>
+<td style="text-align:right;">
+6980.22
+</td>
+<td style="text-align:right;">
+104.55
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+6
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+118.36
+</td>
+<td style="text-align:right;">
+118.36
+</td>
+<td style="text-align:right;">
+-118.29
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+118.36
+</td>
+<td style="text-align:right;">
+118.36
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+118.36
+</td>
+<td style="text-align:right;">
+8143.59
+</td>
+<td style="text-align:right;">
+106.52
+</td>
+<td style="text-align:right;">
+2371.32
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+7
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+109.96
+</td>
+<td style="text-align:right;">
+109.96
+</td>
+<td style="text-align:right;">
+-68.07
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+109.96
+</td>
+<td style="text-align:right;">
+109.96
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+109.96
+</td>
+<td style="text-align:right;">
+9306.96
+</td>
+<td style="text-align:right;">
+98.96
+</td>
+<td style="text-align:right;">
+2910.44
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+8
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+88.89
+</td>
+<td style="text-align:right;">
+88.89
+</td>
+<td style="text-align:right;">
+-30.15
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+88.89
+</td>
+<td style="text-align:right;">
+88.89
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+88.89
+</td>
+<td style="text-align:right;">
+10470.33
+</td>
+<td style="text-align:right;">
+80.00
+</td>
+<td style="text-align:right;">
+3494.90
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+9
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+53.00
+</td>
+<td style="text-align:right;">
+53.00
+</td>
+<td style="text-align:right;">
+-6.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+53.00
+</td>
+<td style="text-align:right;">
+53.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+53.00
+</td>
+<td style="text-align:right;">
+11633.70
+</td>
+<td style="text-align:right;">
+47.70
+</td>
+<td style="text-align:right;">
+4123.97
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+10
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+11633.70
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+</tr>
+</tbody>
+</table>
+<p>Looking back at the definition of the tariff, the only spot where the type of insurance actually came in was the  argument of the [InsuranceTarif] definition. This is one of the most important flags and is central to correct implementation of a tarif. On the other hand, all it does is to cause different vectors of survival, death and guaranteed cash flows. Once the cash flows are determined, the insurance contract and tariff does not need the insurance type any more.</p>
+<p>In our term life example, the insurance contract’s unit cash flows are 1 for death benefits (both when premiums are paid and when the contract is paid-up) and for premiums in advance. All other cash flows (guaranteed, survival or disease cash flows) are zero. Similarly, the cost structure described above and implemented by the [LifeInsuranceContracts::initializeCosts()] function defines all cost cash flows, which are the starting point for all further calculations:</p>
+<div class="sourceCode" id="cb5"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb5-1"><a href="#cb5-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>cashFlows <span class="op">%&gt;%</span><span class="st"> </span><span class="kw">kable</span>()</span></code></pre></div>
+<table>
+<thead>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+premiums_advance
+</th>
+<th style="text-align:right;">
+premiums_arrears
+</th>
+<th style="text-align:right;">
+guaranteed_advance
+</th>
+<th style="text-align:right;">
+guaranteed_arrears
+</th>
+<th style="text-align:right;">
+survival_advance
+</th>
+<th style="text-align:right;">
+survival_arrears
+</th>
+<th style="text-align:right;">
+death_SumInsured
+</th>
+<th style="text-align:right;">
+disease_SumInsured
+</th>
+<th style="text-align:right;">
+death_GrossPremium
+</th>
+<th style="text-align:right;">
+death_Refund_past
+</th>
+<th style="text-align:right;">
+death_PremiumFree
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+1
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+2
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+3
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+4
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+5
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+6
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+7
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+8
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+9
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+</tbody>
+</table>
+<div class="sourceCode" id="cb6"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb6-1"><a href="#cb6-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>cashFlowsCosts <span class="op">%&gt;%</span><span class="st"> </span><span class="kw">kable</span>()</span></code></pre></div>
+<table>
+<thead>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+alpha.SumInsured
+</th>
+<th style="text-align:right;">
+Zillmer.SumInsured
+</th>
+<th style="text-align:right;">
+beta.SumInsured
+</th>
+<th style="text-align:right;">
+gamma.SumInsured
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.SumInsured
+</th>
+<th style="text-align:right;">
+unitcosts.SumInsured
+</th>
+<th style="text-align:right;">
+alpha.SumPremiums
+</th>
+<th style="text-align:right;">
+Zillmer.SumPremiums
+</th>
+<th style="text-align:right;">
+beta.SumPremiums
+</th>
+<th style="text-align:right;">
+gamma.SumPremiums
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.SumPremiums
+</th>
+<th style="text-align:right;">
+unitcosts.SumPremiums
+</th>
+<th style="text-align:right;">
+alpha.GrossPremium
+</th>
+<th style="text-align:right;">
+Zillmer.GrossPremium
+</th>
+<th style="text-align:right;">
+beta.GrossPremium
+</th>
+<th style="text-align:right;">
+gamma.GrossPremium
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.GrossPremium
+</th>
+<th style="text-align:right;">
+unitcosts.GrossPremium
+</th>
+<th style="text-align:right;">
+alpha.NetPremium
+</th>
+<th style="text-align:right;">
+Zillmer.NetPremium
+</th>
+<th style="text-align:right;">
+beta.NetPremium
+</th>
+<th style="text-align:right;">
+gamma.NetPremium
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.NetPremium
+</th>
+<th style="text-align:right;">
+unitcosts.NetPremium
+</th>
+<th style="text-align:right;">
+alpha.Constant
+</th>
+<th style="text-align:right;">
+Zillmer.Constant
+</th>
+<th style="text-align:right;">
+beta.Constant
+</th>
+<th style="text-align:right;">
+gamma.Constant
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.Constant
+</th>
+<th style="text-align:right;">
+unitcosts.Constant
+</th>
+<th style="text-align:right;">
+alpha.Reserve
+</th>
+<th style="text-align:right;">
+Zillmer.Reserve
+</th>
+<th style="text-align:right;">
+beta.Reserve
+</th>
+<th style="text-align:right;">
+gamma.Reserve
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.Reserve
+</th>
+<th style="text-align:right;">
+unitcosts.Reserve
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.05
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+2
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+3
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+4
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+5
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+6
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+7
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+8
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+9
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0.01
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+</tbody>
+</table>
+<p>Once these unit cash flows are set, all insurance contracts are handled identically. First, present values of each of the cash flows are calculated, from which the premiums can be calculated by the equivalence principle.</p>
+<div class="sourceCode" id="cb7"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb7-1"><a href="#cb7-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>presentValues <span class="op">%&gt;%</span><span class="st"> </span><span class="kw">kable</span>()</span></code></pre></div>
+<table>
+<thead>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+premiums
+</th>
+<th style="text-align:right;">
+guaranteed
+</th>
+<th style="text-align:right;">
+survival
+</th>
+<th style="text-align:right;">
+death_SumInsured
+</th>
+<th style="text-align:right;">
+disease_SumInsured
+</th>
+<th style="text-align:right;">
+death_GrossPremium
+</th>
+<th style="text-align:right;">
+death_Refund_past
+</th>
+<th style="text-align:right;">
+death_Refund_future
+</th>
+<th style="text-align:right;">
+death_PremiumFree
+</th>
+<th style="text-align:right;">
+benefits
+</th>
+<th style="text-align:right;">
+benefitsAndRefund
+</th>
+<th style="text-align:right;">
+alpha
+</th>
+<th style="text-align:right;">
+Zillmer
+</th>
+<th style="text-align:right;">
+beta
+</th>
+<th style="text-align:right;">
+gamma
+</th>
+<th style="text-align:right;">
+gamma_nopremiums
+</th>
+<th style="text-align:right;">
+unitcosts
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left;">
+0
+</td>
+<td style="text-align:right;">
+9.741123
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0100972
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0100972
+</td>
+<td style="text-align:right;">
+0.0100972
+</td>
+<td style="text-align:right;">
+0.0100972
+</td>
+<td style="text-align:right;">
+0.0058169
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0974112
+</td>
+<td style="text-align:right;">
+0.0974112
+</td>
+<td style="text-align:right;">
+0.0009741
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+1
+</td>
+<td style="text-align:right;">
+8.791012
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0094510
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0094510
+</td>
+<td style="text-align:right;">
+0.0094510
+</td>
+<td style="text-align:right;">
+0.0094510
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0879101
+</td>
+<td style="text-align:right;">
+0.0879101
+</td>
+<td style="text-align:right;">
+0.0008791
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+2
+</td>
+<td style="text-align:right;">
+7.835850
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0087541
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0087541
+</td>
+<td style="text-align:right;">
+0.0087541
+</td>
+<td style="text-align:right;">
+0.0087541
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0783585
+</td>
+<td style="text-align:right;">
+0.0783585
+</td>
+<td style="text-align:right;">
+0.0007836
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+3
+</td>
+<td style="text-align:right;">
+6.875560
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0079999
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0079999
+</td>
+<td style="text-align:right;">
+0.0079999
+</td>
+<td style="text-align:right;">
+0.0079999
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0687556
+</td>
+<td style="text-align:right;">
+0.0687556
+</td>
+<td style="text-align:right;">
+0.0006876
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+4
+</td>
+<td style="text-align:right;">
+5.910060
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0071794
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0071794
+</td>
+<td style="text-align:right;">
+0.0071794
+</td>
+<td style="text-align:right;">
+0.0071794
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0591006
+</td>
+<td style="text-align:right;">
+0.0591006
+</td>
+<td style="text-align:right;">
+0.0005910
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+5
+</td>
+<td style="text-align:right;">
+4.939252
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0062815
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0062815
+</td>
+<td style="text-align:right;">
+0.0062815
+</td>
+<td style="text-align:right;">
+0.0062815
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0493925
+</td>
+<td style="text-align:right;">
+0.0493925
+</td>
+<td style="text-align:right;">
+0.0004939
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+6
+</td>
+<td style="text-align:right;">
+3.963017
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0052915
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0052915
+</td>
+<td style="text-align:right;">
+0.0052915
+</td>
+<td style="text-align:right;">
+0.0052915
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0396302
+</td>
+<td style="text-align:right;">
+0.0396302
+</td>
+<td style="text-align:right;">
+0.0003963
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+7
+</td>
+<td style="text-align:right;">
+2.981210
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0041898
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0041898
+</td>
+<td style="text-align:right;">
+0.0041898
+</td>
+<td style="text-align:right;">
+0.0041898
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0298121
+</td>
+<td style="text-align:right;">
+0.0298121
+</td>
+<td style="text-align:right;">
+0.0002981
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+8
+</td>
+<td style="text-align:right;">
+1.993626
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0029554
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0029554
+</td>
+<td style="text-align:right;">
+0.0029554
+</td>
+<td style="text-align:right;">
+0.0029554
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0199363
+</td>
+<td style="text-align:right;">
+0.0199363
+</td>
+<td style="text-align:right;">
+0.0001994
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+9
+</td>
+<td style="text-align:right;">
+1.000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0015666
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0015666
+</td>
+<td style="text-align:right;">
+0.0015666
+</td>
+<td style="text-align:right;">
+0.0015666
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0100000
+</td>
+<td style="text-align:right;">
+0.0100000
+</td>
+<td style="text-align:right;">
+0.0001000
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+10
+</td>
+<td style="text-align:right;">
+0.000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+</tr>
+</tbody>
+</table>
+<div class="sourceCode" id="cb8"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb8-1"><a href="#cb8-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>presentValuesCosts <span class="op">%&gt;%</span><span class="st"> </span><span class="kw">kable</span>()</span></code></pre></div>
+<table>
+<thead>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+alpha.SumInsured
+</th>
+<th style="text-align:right;">
+Zillmer.SumInsured
+</th>
+<th style="text-align:right;">
+beta.SumInsured
+</th>
+<th style="text-align:right;">
+gamma.SumInsured
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.SumInsured
+</th>
+<th style="text-align:right;">
+unitcosts.SumInsured
+</th>
+<th style="text-align:right;">
+alpha.SumPremiums
+</th>
+<th style="text-align:right;">
+Zillmer.SumPremiums
+</th>
+<th style="text-align:right;">
+beta.SumPremiums
+</th>
+<th style="text-align:right;">
+gamma.SumPremiums
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.SumPremiums
+</th>
+<th style="text-align:right;">
+unitcosts.SumPremiums
+</th>
+<th style="text-align:right;">
+alpha.GrossPremium
+</th>
+<th style="text-align:right;">
+Zillmer.GrossPremium
+</th>
+<th style="text-align:right;">
+beta.GrossPremium
+</th>
+<th style="text-align:right;">
+gamma.GrossPremium
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.GrossPremium
+</th>
+<th style="text-align:right;">
+unitcosts.GrossPremium
+</th>
+<th style="text-align:right;">
+alpha.NetPremium
+</th>
+<th style="text-align:right;">
+Zillmer.NetPremium
+</th>
+<th style="text-align:right;">
+beta.NetPremium
+</th>
+<th style="text-align:right;">
+gamma.NetPremium
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.NetPremium
+</th>
+<th style="text-align:right;">
+unitcosts.NetPremium
+</th>
+<th style="text-align:right;">
+alpha.Constant
+</th>
+<th style="text-align:right;">
+Zillmer.Constant
+</th>
+<th style="text-align:right;">
+beta.Constant
+</th>
+<th style="text-align:right;">
+gamma.Constant
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.Constant
+</th>
+<th style="text-align:right;">
+unitcosts.Constant
+</th>
+<th style="text-align:right;">
+alpha.Reserve
+</th>
+<th style="text-align:right;">
+Zillmer.Reserve
+</th>
+<th style="text-align:right;">
+beta.Reserve
+</th>
+<th style="text-align:right;">
+gamma.Reserve
+</th>
+<th style="text-align:right;">
+gamma_nopremiums.Reserve
+</th>
+<th style="text-align:right;">
+unitcosts.Reserve
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0974112
+</td>
+<td style="text-align:right;">
+0.0974112
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.05
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+97.41123
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+1
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0879101
+</td>
+<td style="text-align:right;">
+0.0879101
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+87.91012
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+2
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0783585
+</td>
+<td style="text-align:right;">
+0.0783585
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+78.35850
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+3
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0687556
+</td>
+<td style="text-align:right;">
+0.0687556
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+68.75560
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+4
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0591006
+</td>
+<td style="text-align:right;">
+0.0591006
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.10060
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+5
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0493925
+</td>
+<td style="text-align:right;">
+0.0493925
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+49.39252
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+6
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0396302
+</td>
+<td style="text-align:right;">
+0.0396302
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+39.63017
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+7
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0298121
+</td>
+<td style="text-align:right;">
+0.0298121
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+29.81210
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+8
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0199363
+</td>
+<td style="text-align:right;">
+0.0199363
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+19.93626
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+9
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0100000
+</td>
+<td style="text-align:right;">
+0.0100000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10.00000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0.0000000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+</tbody>
+</table>
+<div class="sourceCode" id="cb9"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb9-1"><a href="#cb9-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>premiums <span class="op">%&gt;%</span><span class="st"> </span><span class="kw">kable</span>()</span></code></pre></div>
+<table>
+<thead>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+x
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left;">
+unit.net
+</td>
+<td style="text-align:right;">
+0.0010366
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+unit.Zillmer
+</td>
+<td style="text-align:right;">
+0.0010366
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+unit.gross
+</td>
+<td style="text-align:right;">
+0.0116337
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+net
+</td>
+<td style="text-align:right;">
+103.6556459
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Zillmer
+</td>
+<td style="text-align:right;">
+103.6556459
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+gross
+</td>
+<td style="text-align:right;">
+1163.3700119
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+unitcost
+</td>
+<td style="text-align:right;">
+10.0000000
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+written_yearly
+</td>
+<td style="text-align:right;">
+1220.3048124
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+written_beforetax
+</td>
+<td style="text-align:right;">
+1173.3700119
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+tax
+</td>
+<td style="text-align:right;">
+46.9348005
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+written
+</td>
+<td style="text-align:right;">
+1220.3048124
+</td>
+</tr>
+</tbody>
+</table>
+<p>The actual calculation of the premiums has to be in the order gross premium, Zillmer premiuem, then net premium. The reason for this particular order is that some tariffs have a gross premium refund in case of death. So to calculate the net premium, the gross premium is required.</p>
+<p>The premiums allow the unit cash flows and present values to be converted to monetary terms (fields  and ). Also, the reserves of the contract can be calculated.</p>
+<div class="sourceCode" id="cb10"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb10-1"><a href="#cb10-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>reserves <span class="op">%&gt;%</span><span class="st"> </span><span class="kw">kable</span>(<span class="dt">digits=</span><span class="dv">2</span>)</span></code></pre></div>
+<table>
+<thead>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+SumInsured
+</th>
+<th style="text-align:right;">
+net
+</th>
+<th style="text-align:right;">
+Zillmer
+</th>
+<th style="text-align:right;">
+adequate
+</th>
+<th style="text-align:right;">
+gamma
+</th>
+<th style="text-align:right;">
+contractual
+</th>
+<th style="text-align:right;">
+conversion
+</th>
+<th style="text-align:right;">
+alphaRefund
+</th>
+<th style="text-align:right;">
+reduction
+</th>
+<th style="text-align:right;">
+PremiumsPaid
+</th>
+<th style="text-align:right;">
+Surrender
+</th>
+<th style="text-align:right;">
+PremiumFreeSumInsured
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left;">
+0
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+1
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+-491.08
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+2326.74
+</td>
+<td style="text-align:right;">
+30.48
+</td>
+<td style="text-align:right;">
+313.05
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+2
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+-404.73
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+3490.11
+</td>
+<td style="text-align:right;">
+56.87
+</td>
+<td style="text-align:right;">
+652.78
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+3
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+-323.27
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+4653.48
+</td>
+<td style="text-align:right;">
+78.57
+</td>
+<td style="text-align:right;">
+1023.64
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+4
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+-247.59
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+5816.85
+</td>
+<td style="text-align:right;">
+94.79
+</td>
+<td style="text-align:right;">
+1430.17
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+5
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+116.17
+</td>
+<td style="text-align:right;">
+116.17
+</td>
+<td style="text-align:right;">
+-178.78
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+116.17
+</td>
+<td style="text-align:right;">
+116.17
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+116.17
+</td>
+<td style="text-align:right;">
+6980.22
+</td>
+<td style="text-align:right;">
+104.55
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+6
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+118.36
+</td>
+<td style="text-align:right;">
+118.36
+</td>
+<td style="text-align:right;">
+-118.29
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+118.36
+</td>
+<td style="text-align:right;">
+118.36
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+118.36
+</td>
+<td style="text-align:right;">
+8143.59
+</td>
+<td style="text-align:right;">
+106.52
+</td>
+<td style="text-align:right;">
+2371.32
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+7
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+109.96
+</td>
+<td style="text-align:right;">
+109.96
+</td>
+<td style="text-align:right;">
+-68.07
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+109.96
+</td>
+<td style="text-align:right;">
+109.96
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+109.96
+</td>
+<td style="text-align:right;">
+9306.96
+</td>
+<td style="text-align:right;">
+98.96
+</td>
+<td style="text-align:right;">
+2910.44
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+8
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+88.89
+</td>
+<td style="text-align:right;">
+88.89
+</td>
+<td style="text-align:right;">
+-30.15
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+88.89
+</td>
+<td style="text-align:right;">
+88.89
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+88.89
+</td>
+<td style="text-align:right;">
+10470.33
+</td>
+<td style="text-align:right;">
+80.00
+</td>
+<td style="text-align:right;">
+3494.90
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+9
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+53.00
+</td>
+<td style="text-align:right;">
+53.00
+</td>
+<td style="text-align:right;">
+-6.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+53.00
+</td>
+<td style="text-align:right;">
+53.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+53.00
+</td>
+<td style="text-align:right;">
+11633.70
+</td>
+<td style="text-align:right;">
+47.70
+</td>
+<td style="text-align:right;">
+4123.97
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+10
+</td>
+<td style="text-align:right;">
+100000
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+11633.70
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+</tr>
+</tbody>
+</table>
+<p>Also, the premium composition into costs, risk premium, savings premium and other components is possible.</p>
+<div class="sourceCode" id="cb11"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb11-1"><a href="#cb11-1"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>premiumComposition <span class="op">%&gt;%</span><span class="st"> </span><span class="kw">kable</span>(<span class="dt">digits=</span><span class="dv">2</span>)</span></code></pre></div>
+<table>
+<thead>
+<tr>
+<th style="text-align:right;">
+charged
+</th>
+<th style="text-align:right;">
+tax
+</th>
+<th style="text-align:right;">
+loading.frequency
+</th>
+<th style="text-align:right;">
+rebate.premium
+</th>
+<th style="text-align:right;">
+rebate.partner
+</th>
+<th style="text-align:right;">
+unitcosts
+</th>
+<th style="text-align:right;">
+profit.advance
+</th>
+<th style="text-align:right;">
+rebate.sum
+</th>
+<th style="text-align:right;">
+charge.noMedicalExam
+</th>
+<th style="text-align:right;">
+gross
+</th>
+<th style="text-align:right;">
+gamma
+</th>
+<th style="text-align:right;">
+beta
+</th>
+<th style="text-align:right;">
+alpha
+</th>
+<th style="text-align:right;">
+alpha.noZillmer
+</th>
+<th style="text-align:right;">
+alpha.Zillmer
+</th>
+<th style="text-align:right;">
+Zillmer
+</th>
+<th style="text-align:right;">
+net
+</th>
+<th style="text-align:right;">
+risk
+</th>
+<th style="text-align:right;">
+premium.risk.actual
+</th>
+<th style="text-align:right;">
+premium.risk.security
+</th>
+<th style="text-align:right;">
+risk.disease
+</th>
+<th style="text-align:right;">
+premium.risk.disease.actual
+</th>
+<th style="text-align:right;">
+premium.risk.disease.security
+</th>
+<th style="text-align:right;">
+savings
+</th>
+<th style="text-align:right;">
+Zillmer.risk
+</th>
+<th style="text-align:right;">
+Zillmer.risk.actual
+</th>
+<th style="text-align:right;">
+Zillmer.risk.security
+</th>
+<th style="text-align:right;">
+Zillmer.risk.disease
+</th>
+<th style="text-align:right;">
+Zillmer.risk.disease.actual
+</th>
+<th style="text-align:right;">
+Zillmer.risk.disease.security
+</th>
+<th style="text-align:right;">
+Zillmer.savings
+</th>
+<th style="text-align:right;">
+Zillmer.amortization
+</th>
+<th style="text-align:right;">
+Zillmer.savings.real
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:right;">
+1220.3
+</td>
+<td style="text-align:right;">
+46.93
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+1000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+69.96
+</td>
+<td style="text-align:right;">
+69.96
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+33.70
+</td>
+<td style="text-align:right;">
+69.96
+</td>
+<td style="text-align:right;">
+69.96
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+33.70
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+33.70
+</td>
+</tr>
+<tr>
+<td style="text-align:right;">
+1220.3
+</td>
+<td style="text-align:right;">
+46.93
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+1000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+74.65
+</td>
+<td style="text-align:right;">
+74.65
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+29.00
+</td>
+<td style="text-align:right;">
+74.65
+</td>
+<td style="text-align:right;">
+74.65
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+29.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+29.00
+</td>
+</tr>
+<tr>
+<td style="text-align:right;">
+1220.3
+</td>
+<td style="text-align:right;">
+46.93
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+1000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+79.97
+</td>
+<td style="text-align:right;">
+79.97
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+23.68
+</td>
+<td style="text-align:right;">
+79.97
+</td>
+<td style="text-align:right;">
+79.97
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+23.68
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+23.68
+</td>
+</tr>
+<tr>
+<td style="text-align:right;">
+1220.3
+</td>
+<td style="text-align:right;">
+46.93
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+1000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+86.16
+</td>
+<td style="text-align:right;">
+86.16
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+17.50
+</td>
+<td style="text-align:right;">
+86.16
+</td>
+<td style="text-align:right;">
+86.16
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+17.50
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+17.50
+</td>
+</tr>
+<tr>
+<td style="text-align:right;">
+1220.3
+</td>
+<td style="text-align:right;">
+46.93
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+1000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+93.39
+</td>
+<td style="text-align:right;">
+93.39
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10.27
+</td>
+<td style="text-align:right;">
+93.39
+</td>
+<td style="text-align:right;">
+93.39
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10.27
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10.27
+</td>
+</tr>
+<tr>
+<td style="text-align:right;">
+1220.3
+</td>
+<td style="text-align:right;">
+46.93
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+1000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+102.05
+</td>
+<td style="text-align:right;">
+102.05
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1.60
+</td>
+<td style="text-align:right;">
+102.05
+</td>
+<td style="text-align:right;">
+102.05
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1.60
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1.60
+</td>
+</tr>
+<tr>
+<td style="text-align:right;">
+1220.3
+</td>
+<td style="text-align:right;">
+46.93
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+1000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+112.61
+</td>
+<td style="text-align:right;">
+112.61
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-8.95
+</td>
+<td style="text-align:right;">
+112.61
+</td>
+<td style="text-align:right;">
+112.61
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-8.95
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-8.95
+</td>
+</tr>
+<tr>
+<td style="text-align:right;">
+1220.3
+</td>
+<td style="text-align:right;">
+46.93
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+1000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+125.16
+</td>
+<td style="text-align:right;">
+125.16
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-21.50
+</td>
+<td style="text-align:right;">
+125.16
+</td>
+<td style="text-align:right;">
+125.16
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-21.50
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-21.50
+</td>
+</tr>
+<tr>
+<td style="text-align:right;">
+1220.3
+</td>
+<td style="text-align:right;">
+46.93
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+1000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+139.81
+</td>
+<td style="text-align:right;">
+139.81
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-36.16
+</td>
+<td style="text-align:right;">
+139.81
+</td>
+<td style="text-align:right;">
+139.81
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-36.16
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-36.16
+</td>
+</tr>
+<tr>
+<td style="text-align:right;">
+1220.3
+</td>
+<td style="text-align:right;">
+46.93
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+10
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+1000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+156.66
+</td>
+<td style="text-align:right;">
+156.66
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-53.00
+</td>
+<td style="text-align:right;">
+156.66
+</td>
+<td style="text-align:right;">
+156.66
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-53.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+-53.00
+</td>
+</tr>
+<tr>
+<td style="text-align:right;">
+0.0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+1000
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+59.71
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+103.66
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+</tr>
+</tbody>
+</table>
+<p>As we see, the whole history and future of the contract is calculated as soon as it is created. It is, however, also possible to modify a contract later on, e.g. by stopping premium payments and converting it to a paid-up contract.</p>
+<div class="sourceCode" id="cb12"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb12-1"><a href="#cb12-1"></a>contract.L71U =<span class="st"> </span>contract.L71U<span class="op">$</span><span class="kw">premiumWaiver</span>(<span class="dt">t =</span> <span class="dv">5</span>)</span>
+<span id="cb12-2"><a href="#cb12-2"></a>contract.L71U<span class="op">$</span>Values<span class="op">$</span>reserves <span class="op">%&gt;%</span><span class="st"> </span><span class="kw">kable</span>(<span class="dt">digits=</span><span class="dv">2</span>)</span></code></pre></div>
+<table>
+<thead>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+SumInsured
+</th>
+<th style="text-align:right;">
+net
+</th>
+<th style="text-align:right;">
+Zillmer
+</th>
+<th style="text-align:right;">
+adequate
+</th>
+<th style="text-align:right;">
+gamma
+</th>
+<th style="text-align:right;">
+contractual
+</th>
+<th style="text-align:right;">
+conversion
+</th>
+<th style="text-align:right;">
+alphaRefund
+</th>
+<th style="text-align:right;">
+reduction
+</th>
+<th style="text-align:right;">
+PremiumsPaid
+</th>
+<th style="text-align:right;">
+Surrender
+</th>
+<th style="text-align:right;">
+PremiumFreeSumInsured
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left;">
+0
+</td>
+<td style="text-align:right;">
+100000.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+1163.37
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+1
+</td>
+<td style="text-align:right;">
+100000.00
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+-491.08
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+33.87
+</td>
+<td style="text-align:right;">
+2326.74
+</td>
+<td style="text-align:right;">
+30.48
+</td>
+<td style="text-align:right;">
+313.05
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+2
+</td>
+<td style="text-align:right;">
+100000.00
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+-404.73
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+63.18
+</td>
+<td style="text-align:right;">
+3490.11
+</td>
+<td style="text-align:right;">
+56.87
+</td>
+<td style="text-align:right;">
+652.78
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+3
+</td>
+<td style="text-align:right;">
+100000.00
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+-323.27
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+87.30
+</td>
+<td style="text-align:right;">
+4653.48
+</td>
+<td style="text-align:right;">
+78.57
+</td>
+<td style="text-align:right;">
+1023.64
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+4
+</td>
+<td style="text-align:right;">
+100000.00
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+-247.59
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+105.32
+</td>
+<td style="text-align:right;">
+5816.85
+</td>
+<td style="text-align:right;">
+94.79
+</td>
+<td style="text-align:right;">
+1430.17
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+5
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+<td style="text-align:right;">
+11.80
+</td>
+<td style="text-align:right;">
+11.80
+</td>
+<td style="text-align:right;">
+104.55
+</td>
+<td style="text-align:right;">
+92.75
+</td>
+<td style="text-align:right;">
+104.55
+</td>
+<td style="text-align:right;">
+104.55
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+104.55
+</td>
+<td style="text-align:right;">
+5816.85
+</td>
+<td style="text-align:right;">
+104.55
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+6
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+<td style="text-align:right;">
+9.94
+</td>
+<td style="text-align:right;">
+9.94
+</td>
+<td style="text-align:right;">
+84.36
+</td>
+<td style="text-align:right;">
+74.42
+</td>
+<td style="text-align:right;">
+84.36
+</td>
+<td style="text-align:right;">
+84.36
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+84.36
+</td>
+<td style="text-align:right;">
+5816.85
+</td>
+<td style="text-align:right;">
+84.36
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+7
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+<td style="text-align:right;">
+7.87
+</td>
+<td style="text-align:right;">
+7.87
+</td>
+<td style="text-align:right;">
+63.85
+</td>
+<td style="text-align:right;">
+55.98
+</td>
+<td style="text-align:right;">
+63.85
+</td>
+<td style="text-align:right;">
+63.85
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+63.85
+</td>
+<td style="text-align:right;">
+5816.85
+</td>
+<td style="text-align:right;">
+63.85
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+8
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+<td style="text-align:right;">
+5.55
+</td>
+<td style="text-align:right;">
+5.55
+</td>
+<td style="text-align:right;">
+42.99
+</td>
+<td style="text-align:right;">
+37.44
+</td>
+<td style="text-align:right;">
+42.99
+</td>
+<td style="text-align:right;">
+42.99
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+42.99
+</td>
+<td style="text-align:right;">
+5816.85
+</td>
+<td style="text-align:right;">
+42.99
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+9
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+<td style="text-align:right;">
+2.94
+</td>
+<td style="text-align:right;">
+2.94
+</td>
+<td style="text-align:right;">
+21.72
+</td>
+<td style="text-align:right;">
+18.78
+</td>
+<td style="text-align:right;">
+21.72
+</td>
+<td style="text-align:right;">
+21.72
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+21.72
+</td>
+<td style="text-align:right;">
+5816.85
+</td>
+<td style="text-align:right;">
+21.72
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+10
+</td>
+<td style="text-align:right;">
+1877.91
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+5816.85
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+<td style="text-align:right;">
+0.00
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+<div id="creating-tables-with-various-parameters" class="section level2">
+<h2><span class="header-section-number">2.4</span> Creating tables with various parameters</h2>
+<p>When prototyping a new product or creating marketing material, it is often needed to create tables of premiums, reserves, benefits or surrender values for different parameters (e.g. different ages, maturities and sums insured for the marketing department, or different guaranteed interest rates, mortality tables or costs for the product development group).</p>
+<p>This can be easily done by the functions [contractGridPremium()] or [contractGrid()]. They take one argument , which gives the parameters for the axes of the table (more than two dimensions are possible!), while all other parameters are passed unchanged to [InsuranceContract$new()].</p>
+<p>First, let us create a grid of premiums for different ages and maturities (for sum insured 100,000 Euro):</p>
+<div class="sourceCode" id="cb13"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb13-1"><a href="#cb13-1"></a><span class="kw">contractGridPremium</span>(</span>
+<span id="cb13-2"><a href="#cb13-2"></a>  <span class="dt">axes =</span> <span class="kw">list</span>(<span class="dt">age =</span> <span class="kw">seq</span>(<span class="dv">20</span>, <span class="dv">80</span>, <span class="dv">5</span>), <span class="dt">policyPeriod =</span> <span class="kw">seq</span>(<span class="dv">5</span>, <span class="dv">40</span>, <span class="dv">5</span>)),</span>
+<span id="cb13-3"><a href="#cb13-3"></a>  <span class="dt">tarif =</span> Tarif.L71U, </span>
+<span id="cb13-4"><a href="#cb13-4"></a>  <span class="dt">contractClosing =</span> <span class="kw">as.Date</span>(<span class="st">&quot;2020-08-18&quot;</span>), </span>
+<span id="cb13-5"><a href="#cb13-5"></a>  <span class="dt">sumInsured =</span> <span class="dv">100000</span></span>
+<span id="cb13-6"><a href="#cb13-6"></a>)</span>
+<span id="cb13-7"><a href="#cb13-7"></a><span class="co">#&gt;     policyPeriod</span></span>
+<span id="cb13-8"><a href="#cb13-8"></a><span class="co">#&gt; age         5        10        15        20        25        30        35</span></span>
+<span id="cb13-9"><a href="#cb13-9"></a><span class="co">#&gt;   20 1169.853  1168.075  1199.161  1240.469  1303.557  1410.318  1585.448</span></span>
+<span id="cb13-10"><a href="#cb13-10"></a><span class="co">#&gt;   25 1164.503  1168.336  1210.805  1275.666  1385.428  1565.480  1850.114</span></span>
+<span id="cb13-11"><a href="#cb13-11"></a><span class="co">#&gt;   30 1170.548  1183.146  1249.849  1362.728  1547.892  1840.607  2274.448</span></span>
+<span id="cb13-12"><a href="#cb13-12"></a><span class="co">#&gt;   35 1194.338  1220.305  1336.514  1527.142  1828.495  2275.137  2872.007</span></span>
+<span id="cb13-13"><a href="#cb13-13"></a><span class="co">#&gt;   40 1245.159  1297.609  1494.339  1805.337  2266.275  2882.249  3710.479</span></span>
+<span id="cb13-14"><a href="#cb13-14"></a><span class="co">#&gt;   45 1349.637  1435.423  1757.889  2235.825  2874.514  3733.287  4976.711</span></span>
+<span id="cb13-15"><a href="#cb13-15"></a><span class="co">#&gt;   50 1521.824  1657.738  2157.231  2824.729  3722.239  5021.749  6831.597</span></span>
+<span id="cb13-16"><a href="#cb13-16"></a><span class="co">#&gt;   55 1796.462  1993.474  2699.839  3649.608  5024.786  6940.017  9052.437</span></span>
+<span id="cb13-17"><a href="#cb13-17"></a><span class="co">#&gt;   60 2197.241  2439.539  3462.609  4943.919  7006.962  9282.412 10902.557</span></span>
+<span id="cb13-18"><a href="#cb13-18"></a><span class="co">#&gt;   65 2692.767  3078.238  4712.042  6987.466  9497.163 11284.095 11950.511</span></span>
+<span id="cb13-19"><a href="#cb13-19"></a><span class="co">#&gt;   70 3491.667  4280.494  6889.785  9767.724 11816.848 12581.046 12581.046</span></span>
+<span id="cb13-20"><a href="#cb13-20"></a><span class="co">#&gt;   75 5174.046  6676.763 10245.338 12786.202 13733.789 13733.789 13733.789</span></span>
+<span id="cb13-21"><a href="#cb13-21"></a><span class="co">#&gt;   80 8555.299 10940.868 14604.915 15971.380 15971.380 15971.380 15971.380</span></span>
+<span id="cb13-22"><a href="#cb13-22"></a><span class="co">#&gt;     policyPeriod</span></span>
+<span id="cb13-23"><a href="#cb13-23"></a><span class="co">#&gt; age         40</span></span>
+<span id="cb13-24"><a href="#cb13-24"></a><span class="co">#&gt;   20  1862.300</span></span>
+<span id="cb13-25"><a href="#cb13-25"></a><span class="co">#&gt;   25  2271.977</span></span>
+<span id="cb13-26"><a href="#cb13-26"></a><span class="co">#&gt;   30  2854.210</span></span>
+<span id="cb13-27"><a href="#cb13-27"></a><span class="co">#&gt;   35  3674.550</span></span>
+<span id="cb13-28"><a href="#cb13-28"></a><span class="co">#&gt;   40  4909.681</span></span>
+<span id="cb13-29"><a href="#cb13-29"></a><span class="co">#&gt;   45  6708.446</span></span>
+<span id="cb13-30"><a href="#cb13-30"></a><span class="co">#&gt;   50  8827.783</span></span>
+<span id="cb13-31"><a href="#cb13-31"></a><span class="co">#&gt;   55 10556.502</span></span>
+<span id="cb13-32"><a href="#cb13-32"></a><span class="co">#&gt;   60 11506.771</span></span>
+<span id="cb13-33"><a href="#cb13-33"></a><span class="co">#&gt;   65 11950.511</span></span>
+<span id="cb13-34"><a href="#cb13-34"></a><span class="co">#&gt;   70 12581.046</span></span>
+<span id="cb13-35"><a href="#cb13-35"></a><span class="co">#&gt;   75 13733.789</span></span>
+<span id="cb13-36"><a href="#cb13-36"></a><span class="co">#&gt;   80 15971.380</span></span></code></pre></div>
+<p>One can also pass more than two dimensions to the axes:</p>
+<div class="sourceCode" id="cb14"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb14-1"><a href="#cb14-1"></a><span class="kw">contractGridPremium</span>(</span>
+<span id="cb14-2"><a href="#cb14-2"></a>  <span class="dt">axes =</span> <span class="kw">list</span>(<span class="dt">age =</span> <span class="kw">seq</span>(<span class="dv">20</span>, <span class="dv">80</span>, <span class="dv">10</span>), <span class="dt">policyPeriod =</span> <span class="kw">seq</span>(<span class="dv">10</span>, <span class="dv">40</span>, <span class="dv">10</span>), <span class="dt">sumInsured =</span> <span class="kw">c</span>(<span class="dv">10000</span>, <span class="dv">50000</span>, <span class="dv">100000</span>)),</span>
+<span id="cb14-3"><a href="#cb14-3"></a>  <span class="dt">tarif =</span> Tarif.L71U, </span>
+<span id="cb14-4"><a href="#cb14-4"></a>  <span class="dt">contractClosing =</span> <span class="kw">as.Date</span>(<span class="st">&quot;2020-08-18&quot;</span>)</span>
+<span id="cb14-5"><a href="#cb14-5"></a>)</span>
+<span id="cb14-6"><a href="#cb14-6"></a><span class="co">#&gt; , , sumInsured = 10000</span></span>
+<span id="cb14-7"><a href="#cb14-7"></a><span class="co">#&gt; </span></span>
+<span id="cb14-8"><a href="#cb14-8"></a><span class="co">#&gt;     policyPeriod</span></span>
+<span id="cb14-9"><a href="#cb14-9"></a><span class="co">#&gt; age         10        20        30        40</span></span>
+<span id="cb14-10"><a href="#cb14-10"></a><span class="co">#&gt;   20  126.1675  133.4069  150.3918  195.5900</span></span>
+<span id="cb14-11"><a href="#cb14-11"></a><span class="co">#&gt;   30  127.6746  145.6328  193.4207  294.7810</span></span>
+<span id="cb14-12"><a href="#cb14-12"></a><span class="co">#&gt;   40  139.1209  189.8937  297.5849  500.3281</span></span>
+<span id="cb14-13"><a href="#cb14-13"></a><span class="co">#&gt;   50  175.1338  291.8329  511.5349  892.1383</span></span>
+<span id="cb14-14"><a href="#cb14-14"></a><span class="co">#&gt;   60  253.3139  503.7519  937.6012 1160.0371</span></span>
+<span id="cb14-15"><a href="#cb14-15"></a><span class="co">#&gt;   70  437.4094  986.1324 1267.4646 1267.4646</span></span>
+<span id="cb14-16"><a href="#cb14-16"></a><span class="co">#&gt;   80 1103.4468 1606.4980 1606.4980 1606.4980</span></span>
+<span id="cb14-17"><a href="#cb14-17"></a><span class="co">#&gt; </span></span>
+<span id="cb14-18"><a href="#cb14-18"></a><span class="co">#&gt; , , sumInsured = 50000</span></span>
+<span id="cb14-19"><a href="#cb14-19"></a><span class="co">#&gt; </span></span>
+<span id="cb14-20"><a href="#cb14-20"></a><span class="co">#&gt;     policyPeriod</span></span>
+<span id="cb14-21"><a href="#cb14-21"></a><span class="co">#&gt; age         10        20        30        40</span></span>
+<span id="cb14-22"><a href="#cb14-22"></a><span class="co">#&gt;   20  589.2374  625.4344  710.3591  936.3501</span></span>
+<span id="cb14-23"><a href="#cb14-23"></a><span class="co">#&gt;   30  596.7732  686.5640  925.5037 1432.3049</span></span>
+<span id="cb14-24"><a href="#cb14-24"></a><span class="co">#&gt;   40  654.0047  907.8685 1446.3243 2460.0403</span></span>
+<span id="cb14-25"><a href="#cb14-25"></a><span class="co">#&gt;   50  834.0689 1417.5647 2516.0746 4419.0915</span></span>
+<span id="cb14-26"><a href="#cb14-26"></a><span class="co">#&gt;   60 1224.9697 2477.1596 4646.4058 5758.5857</span></span>
+<span id="cb14-27"><a href="#cb14-27"></a><span class="co">#&gt;   70 2145.4472 4889.0622 6295.7230 6295.7230</span></span>
+<span id="cb14-28"><a href="#cb14-28"></a><span class="co">#&gt;   80 5475.6342 7990.8901 7990.8901 7990.8901</span></span>
+<span id="cb14-29"><a href="#cb14-29"></a><span class="co">#&gt; </span></span>
+<span id="cb14-30"><a href="#cb14-30"></a><span class="co">#&gt; , , sumInsured = 100000</span></span>
+<span id="cb14-31"><a href="#cb14-31"></a><span class="co">#&gt; </span></span>
+<span id="cb14-32"><a href="#cb14-32"></a><span class="co">#&gt;     policyPeriod</span></span>
+<span id="cb14-33"><a href="#cb14-33"></a><span class="co">#&gt; age         10        20        30        40</span></span>
+<span id="cb14-34"><a href="#cb14-34"></a><span class="co">#&gt;   20  1168.075  1240.469  1410.318  1862.300</span></span>
+<span id="cb14-35"><a href="#cb14-35"></a><span class="co">#&gt;   30  1183.146  1362.728  1840.607  2854.210</span></span>
+<span id="cb14-36"><a href="#cb14-36"></a><span class="co">#&gt;   40  1297.609  1805.337  2882.249  4909.681</span></span>
+<span id="cb14-37"><a href="#cb14-37"></a><span class="co">#&gt;   50  1657.738  2824.729  5021.749  8827.783</span></span>
+<span id="cb14-38"><a href="#cb14-38"></a><span class="co">#&gt;   60  2439.539  4943.919  9282.412 11506.771</span></span>
+<span id="cb14-39"><a href="#cb14-39"></a><span class="co">#&gt;   70  4280.494  9767.724 12581.046 12581.046</span></span>
+<span id="cb14-40"><a href="#cb14-40"></a><span class="co">#&gt;   80 10940.868 15971.380 15971.380 15971.380</span></span></code></pre></div>
+<p>One can use any of the parameters of the [InsuranceContract$new()] call in the  argument, even the  or  parameters. This means that one can create tables comparing different tariffs, or showing the effect of different life tables.</p>
+<p>In the following example, we use the tarif , but instead of the unisex table (mixed 65:35 from male:female tables), we use the male mortality tables of the Austrian census from 1870 to 2011 (with a contract period of 10 years fixed, and varying ages):</p>
+<div class="sourceCode" id="cb15"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb15-1"><a href="#cb15-1"></a><span class="kw">contractGridPremium</span>(</span>
+<span id="cb15-2"><a href="#cb15-2"></a>  <span class="dt">axes =</span> <span class="kw">list</span>(<span class="dt">mortalityTable =</span> mort.AT.census[<span class="st">&quot;m&quot;</span>, ], <span class="dt">age =</span> <span class="kw">seq</span>(<span class="dv">20</span>, <span class="dv">80</span>, <span class="dv">10</span>)),</span>
+<span id="cb15-3"><a href="#cb15-3"></a>  <span class="dt">tarif =</span> Tarif.L71U, </span>
+<span id="cb15-4"><a href="#cb15-4"></a>  <span class="dt">sumInsured =</span> <span class="dv">100000</span>,</span>
+<span id="cb15-5"><a href="#cb15-5"></a>  <span class="dt">contractClosing =</span> <span class="kw">as.Date</span>(<span class="st">&quot;2020-08-18&quot;</span>)</span>
+<span id="cb15-6"><a href="#cb15-6"></a>)</span>
+<span id="cb15-7"><a href="#cb15-7"></a><span class="co">#&gt;                   age</span></span>
+<span id="cb15-8"><a href="#cb15-8"></a><span class="co">#&gt; mortalityTable           20       30       40       50       60        70</span></span>
+<span id="cb15-9"><a href="#cb15-9"></a><span class="co">#&gt;   ÖVSt 1868/71 M   2212.172 2370.833 2913.478 4059.368 7022.578 14017.657</span></span>
+<span id="cb15-10"><a href="#cb15-10"></a><span class="co">#&gt;   ÖVSt 1879/82 M   2147.026 2335.900 2825.171 3951.679 6608.802 13409.890</span></span>
+<span id="cb15-11"><a href="#cb15-11"></a><span class="co">#&gt;   ÖVSt 1889/92 M   2009.219 2205.402 2734.159 3838.403 6529.774 13236.981</span></span>
+<span id="cb15-12"><a href="#cb15-12"></a><span class="co">#&gt;   ÖVSt 1899/1902 M 1848.012 2086.656 2645.843 3759.487 6311.541 12602.831</span></span>
+<span id="cb15-13"><a href="#cb15-13"></a><span class="co">#&gt;   ÖVSt 1909/12 M   1775.956 2032.367 2578.437 3713.325 6278.540 12182.859</span></span>
+<span id="cb15-14"><a href="#cb15-14"></a><span class="co">#&gt;   ÖVSt 1930/33 M   1555.504 1705.504 2130.348 3115.449 5360.127 10852.444</span></span>
+<span id="cb15-15"><a href="#cb15-15"></a><span class="co">#&gt;   ÖVSt 1949/51 M   1361.781 1427.295 1765.242 2769.684 4846.955  9758.327</span></span>
+<span id="cb15-16"><a href="#cb15-16"></a><span class="co">#&gt;   ÖVSt 1959/61 M   1332.548 1376.032 1632.237 2606.202 4854.636  9525.460</span></span>
+<span id="cb15-17"><a href="#cb15-17"></a><span class="co">#&gt;   ÖVSt 1970/72 M   1323.656 1390.671 1683.444 2475.901 4785.257  9986.520</span></span>
+<span id="cb15-18"><a href="#cb15-18"></a><span class="co">#&gt;   ÖVSt 1980/82 M   1291.107 1329.127 1646.102 2430.469 4109.816  8803.434</span></span>
+<span id="cb15-19"><a href="#cb15-19"></a><span class="co">#&gt;   ÖVSt 1990/92 M   1242.549 1282.667 1528.445 2127.950 3654.002  7122.623</span></span>
+<span id="cb15-20"><a href="#cb15-20"></a><span class="co">#&gt;   ÖVSt 2000/02 M   1214.154 1231.645 1426.524 1923.090 2976.936  5910.656</span></span>
+<span id="cb15-21"><a href="#cb15-21"></a><span class="co">#&gt;   ÖVSt 2010/2012 M 1186.464 1201.235 1334.159 1773.809 2725.250  4841.859</span></span>
+<span id="cb15-22"><a href="#cb15-22"></a><span class="co">#&gt;                   age</span></span>
+<span id="cb15-23"><a href="#cb15-23"></a><span class="co">#&gt; mortalityTable           80</span></span>
+<span id="cb15-24"><a href="#cb15-24"></a><span class="co">#&gt;   ÖVSt 1868/71 M   28131.00</span></span>
+<span id="cb15-25"><a href="#cb15-25"></a><span class="co">#&gt;   ÖVSt 1879/82 M   27353.08</span></span>
+<span id="cb15-26"><a href="#cb15-26"></a><span class="co">#&gt;   ÖVSt 1889/92 M   26292.55</span></span>
+<span id="cb15-27"><a href="#cb15-27"></a><span class="co">#&gt;   ÖVSt 1899/1902 M 24700.31</span></span>
+<span id="cb15-28"><a href="#cb15-28"></a><span class="co">#&gt;   ÖVSt 1909/12 M   24136.69</span></span>
+<span id="cb15-29"><a href="#cb15-29"></a><span class="co">#&gt;   ÖVSt 1930/33 M   22882.25</span></span>
+<span id="cb15-30"><a href="#cb15-30"></a><span class="co">#&gt;   ÖVSt 1949/51 M   20655.13</span></span>
+<span id="cb15-31"><a href="#cb15-31"></a><span class="co">#&gt;   ÖVSt 1959/61 M   19874.48</span></span>
+<span id="cb15-32"><a href="#cb15-32"></a><span class="co">#&gt;   ÖVSt 1970/72 M   19725.83</span></span>
+<span id="cb15-33"><a href="#cb15-33"></a><span class="co">#&gt;   ÖVSt 1980/82 M   18825.90</span></span>
+<span id="cb15-34"><a href="#cb15-34"></a><span class="co">#&gt;   ÖVSt 1990/92 M   16067.46</span></span>
+<span id="cb15-35"><a href="#cb15-35"></a><span class="co">#&gt;   ÖVSt 2000/02 M   13821.41</span></span>
+<span id="cb15-36"><a href="#cb15-36"></a><span class="co">#&gt;   ÖVSt 2010/2012 M 11904.62</span></span></code></pre></div>
+</div>
+</div>
+<div id="all-possible-parameters-and-their-default-values" class="section level1">
+<h1><span class="header-section-number">3</span> All possible parameters and their default values</h1>
+<p>All possible parameters of an insurance contract are stored in sub-lists of a a structure [InsuranceContract.Parameters]. If not provided by the call to [InsuranceContract$new()], the values will be taken from either the [InsuranceTariff]’s default parameters, the <a href="For%20contracts%20with%20profit%20sharing%20mechanisms,%20this">ProfitParticipation</a>’s default parameters or the global defaults in the [InsuranceContract.ParameterDefault]. The cascade or parameters is (from top to bottom):</p>
+<ul>
+<li>explicit parameters passed to [InsuranceContract$addProfitScenario()] (applies only for the added profit scenario)</li>
+<li>explicit parameters passed to [InsuranceContract$new()] or [InsuranceContract$clone()]</li>
+<li>parameters set with the <a href="For%20contracts%20with%20profit%20sharing%20mechanisms,%20this">ProfitParticipation</a></li>
+<li>parameters set with the [InsuranceTarif]</li>
+<li>Default values set in [InsuranceContract.ParameterDefaults]</li>
+</ul>
+<div class="sourceCode" id="cb16"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb16-1"><a href="#cb16-1"></a><span class="kw">str</span>(InsuranceContract.ParameterDefaults)</span>
+<span id="cb16-2"><a href="#cb16-2"></a><span class="co">#&gt; List of 8</span></span>
+<span id="cb16-3"><a href="#cb16-3"></a><span class="co">#&gt;  $ ContractData       :List of 23</span></span>
+<span id="cb16-4"><a href="#cb16-4"></a><span class="co">#&gt;   ..$ id                    : chr &quot;Hauptvertrag&quot;</span></span>
+<span id="cb16-5"><a href="#cb16-5"></a><span class="co">#&gt;   ..$ sumInsured            : num 100000</span></span>
+<span id="cb16-6"><a href="#cb16-6"></a><span class="co">#&gt;   ..$ YOB                   : NULL</span></span>
+<span id="cb16-7"><a href="#cb16-7"></a><span class="co">#&gt;   ..$ age                   : NULL</span></span>
+<span id="cb16-8"><a href="#cb16-8"></a><span class="co">#&gt;   ..$ technicalAge          : NULL</span></span>
+<span id="cb16-9"><a href="#cb16-9"></a><span class="co">#&gt;   ..$ ageDifferences        : NULL</span></span>
+<span id="cb16-10"><a href="#cb16-10"></a><span class="co">#&gt;   ..$ sex                   : chr &quot;unisex&quot;</span></span>
+<span id="cb16-11"><a href="#cb16-11"></a><span class="co">#&gt;   ..$ policyPeriod          : num 25</span></span>
+<span id="cb16-12"><a href="#cb16-12"></a><span class="co">#&gt;   ..$ premiumPeriod         : NULL</span></span>
+<span id="cb16-13"><a href="#cb16-13"></a><span class="co">#&gt;   ..$ deferralPeriod        : num 0</span></span>
+<span id="cb16-14"><a href="#cb16-14"></a><span class="co">#&gt;   ..$ guaranteedPeriod      : num 0</span></span>
+<span id="cb16-15"><a href="#cb16-15"></a><span class="co">#&gt;   ..$ contractClosing       : NULL</span></span>
+<span id="cb16-16"><a href="#cb16-16"></a><span class="co">#&gt;   ..$ blockStart            : num 0</span></span>
+<span id="cb16-17"><a href="#cb16-17"></a><span class="co">#&gt;   ..$ premiumPayments       : chr &quot;in advance&quot;</span></span>
+<span id="cb16-18"><a href="#cb16-18"></a><span class="co">#&gt;   ..$ benefitPayments       : chr &quot;in advance&quot;</span></span>
+<span id="cb16-19"><a href="#cb16-19"></a><span class="co">#&gt;   ..$ premiumFrequency      : num 1</span></span>
+<span id="cb16-20"><a href="#cb16-20"></a><span class="co">#&gt;   ..$ benefitFrequency      : num 1</span></span>
+<span id="cb16-21"><a href="#cb16-21"></a><span class="co">#&gt;   ..$ widowProportion       : num 0</span></span>
+<span id="cb16-22"><a href="#cb16-22"></a><span class="co">#&gt;   ..$ deathBenefitProportion: num 1</span></span>
+<span id="cb16-23"><a href="#cb16-23"></a><span class="co">#&gt;   ..$ premiumRefund         : num 0</span></span>
+<span id="cb16-24"><a href="#cb16-24"></a><span class="co">#&gt;   ..$ premiumIncrease       : num 1</span></span>
+<span id="cb16-25"><a href="#cb16-25"></a><span class="co">#&gt;   ..$ annuityIncrease       : num 1</span></span>
+<span id="cb16-26"><a href="#cb16-26"></a><span class="co">#&gt;   ..$ deathBenefit          : num 1</span></span>
+<span id="cb16-27"><a href="#cb16-27"></a><span class="co">#&gt;  $ ContractState      :List of 3</span></span>
+<span id="cb16-28"><a href="#cb16-28"></a><span class="co">#&gt;   ..$ premiumWaiver   : logi FALSE</span></span>
+<span id="cb16-29"><a href="#cb16-29"></a><span class="co">#&gt;   ..$ surrenderPenalty: logi TRUE</span></span>
+<span id="cb16-30"><a href="#cb16-30"></a><span class="co">#&gt;   ..$ alphaRefunded   : logi FALSE</span></span>
+<span id="cb16-31"><a href="#cb16-31"></a><span class="co">#&gt;  $ ActuarialBases     :List of 9</span></span>
+<span id="cb16-32"><a href="#cb16-32"></a><span class="co">#&gt;   ..$ mortalityTable           : NULL</span></span>
+<span id="cb16-33"><a href="#cb16-33"></a><span class="co">#&gt;   ..$ invalidityTable          : NULL</span></span>
+<span id="cb16-34"><a href="#cb16-34"></a><span class="co">#&gt;   ..$ invalidityEndsContract   : logi TRUE</span></span>
+<span id="cb16-35"><a href="#cb16-35"></a><span class="co">#&gt;   ..$ i                        : num 0</span></span>
+<span id="cb16-36"><a href="#cb16-36"></a><span class="co">#&gt;   ..$ balanceSheetDate         : Date[1:1], format: &quot;1900-12-31&quot;</span></span>
+<span id="cb16-37"><a href="#cb16-37"></a><span class="co">#&gt;   ..$ balanceSheetMethod       : chr &quot;30/360&quot;</span></span>
+<span id="cb16-38"><a href="#cb16-38"></a><span class="co">#&gt;   ..$ surrenderValueCalculation: NULL</span></span>
+<span id="cb16-39"><a href="#cb16-39"></a><span class="co">#&gt;   ..$ premiumFrequencyOrder    : num 0</span></span>
+<span id="cb16-40"><a href="#cb16-40"></a><span class="co">#&gt;   ..$ benefitFrequencyOrder    : num 0</span></span>
+<span id="cb16-41"><a href="#cb16-41"></a><span class="co">#&gt;  $ Costs              : num [1:6, 1:6, 1:4] 0 0 0 0 0 0 0 0 0 0 ...</span></span>
+<span id="cb16-42"><a href="#cb16-42"></a><span class="co">#&gt;   ..- attr(*, &quot;dimnames&quot;)=List of 3</span></span>
+<span id="cb16-43"><a href="#cb16-43"></a><span class="co">#&gt;   .. ..$ type     : chr [1:6] &quot;alpha&quot; &quot;Zillmer&quot; &quot;beta&quot; &quot;gamma&quot; ...</span></span>
+<span id="cb16-44"><a href="#cb16-44"></a><span class="co">#&gt;   .. ..$ basis    : chr [1:6] &quot;SumInsured&quot; &quot;SumPremiums&quot; &quot;GrossPremium&quot; &quot;NetPremium&quot; ...</span></span>
+<span id="cb16-45"><a href="#cb16-45"></a><span class="co">#&gt;   .. ..$ frequency: chr [1:4] &quot;once&quot; &quot;PremiumPeriod&quot; &quot;PremiumFree&quot; &quot;PolicyPeriod&quot;</span></span>
+<span id="cb16-46"><a href="#cb16-46"></a><span class="co">#&gt;  $ Loadings           :List of 13</span></span>
+<span id="cb16-47"><a href="#cb16-47"></a><span class="co">#&gt;   ..$ ongoingAlphaGrossPremium: num 0</span></span>
+<span id="cb16-48"><a href="#cb16-48"></a><span class="co">#&gt;   ..$ tax                     : num 0.04</span></span>
+<span id="cb16-49"><a href="#cb16-49"></a><span class="co">#&gt;   ..$ unitcosts               : num 0</span></span>
+<span id="cb16-50"><a href="#cb16-50"></a><span class="co">#&gt;   ..$ security                : num 0</span></span>
+<span id="cb16-51"><a href="#cb16-51"></a><span class="co">#&gt;   ..$ noMedicalExam           : num 0</span></span>
+<span id="cb16-52"><a href="#cb16-52"></a><span class="co">#&gt;   ..$ noMedicalExamRelative   : num 0</span></span>
+<span id="cb16-53"><a href="#cb16-53"></a><span class="co">#&gt;   ..$ sumRebate               : num 0</span></span>
+<span id="cb16-54"><a href="#cb16-54"></a><span class="co">#&gt;   ..$ extraRebate             : num 0</span></span>
+<span id="cb16-55"><a href="#cb16-55"></a><span class="co">#&gt;   ..$ premiumRebate           : num 0</span></span>
+<span id="cb16-56"><a href="#cb16-56"></a><span class="co">#&gt;   ..$ partnerRebate           : num 0</span></span>
+<span id="cb16-57"><a href="#cb16-57"></a><span class="co">#&gt;   ..$ extraChargeGrossPremium : num 0</span></span>
+<span id="cb16-58"><a href="#cb16-58"></a><span class="co">#&gt;   ..$ benefitFrequencyLoading :List of 4</span></span>
+<span id="cb16-59"><a href="#cb16-59"></a><span class="co">#&gt;   .. ..$ 1 : num 0</span></span>
+<span id="cb16-60"><a href="#cb16-60"></a><span class="co">#&gt;   .. ..$ 2 : num 0</span></span>
+<span id="cb16-61"><a href="#cb16-61"></a><span class="co">#&gt;   .. ..$ 4 : num 0</span></span>
+<span id="cb16-62"><a href="#cb16-62"></a><span class="co">#&gt;   .. ..$ 12: num 0</span></span>
+<span id="cb16-63"><a href="#cb16-63"></a><span class="co">#&gt;   ..$ premiumFrequencyLoading :List of 4</span></span>
+<span id="cb16-64"><a href="#cb16-64"></a><span class="co">#&gt;   .. ..$ 1 : num 0</span></span>
+<span id="cb16-65"><a href="#cb16-65"></a><span class="co">#&gt;   .. ..$ 2 : num 0</span></span>
+<span id="cb16-66"><a href="#cb16-66"></a><span class="co">#&gt;   .. ..$ 4 : num 0</span></span>
+<span id="cb16-67"><a href="#cb16-67"></a><span class="co">#&gt;   .. ..$ 12: num 0</span></span>
+<span id="cb16-68"><a href="#cb16-68"></a><span class="co">#&gt;  $ Features           :List of 2</span></span>
+<span id="cb16-69"><a href="#cb16-69"></a><span class="co">#&gt;   ..$ betaGammaInZillmer: logi FALSE</span></span>
+<span id="cb16-70"><a href="#cb16-70"></a><span class="co">#&gt;   ..$ alphaRefundLinear : logi TRUE</span></span>
+<span id="cb16-71"><a href="#cb16-71"></a><span class="co">#&gt;  $ ProfitParticipation:List of 16</span></span>
+<span id="cb16-72"><a href="#cb16-72"></a><span class="co">#&gt;   ..$ advanceProfitParticipation            : num 0</span></span>
+<span id="cb16-73"><a href="#cb16-73"></a><span class="co">#&gt;   ..$ advanceProfitParticipationInclUnitCost: num 0</span></span>
+<span id="cb16-74"><a href="#cb16-74"></a><span class="co">#&gt;   ..$ waitingPeriod                         : NULL</span></span>
+<span id="cb16-75"><a href="#cb16-75"></a><span class="co">#&gt;   ..$ guaranteedInterest                    : NULL</span></span>
+<span id="cb16-76"><a href="#cb16-76"></a><span class="co">#&gt;   ..$ interestProfitRate                    : NULL</span></span>
+<span id="cb16-77"><a href="#cb16-77"></a><span class="co">#&gt;   ..$ totalInterest                         : NULL</span></span>
+<span id="cb16-78"><a href="#cb16-78"></a><span class="co">#&gt;   ..$ mortalityProfitRate                   : NULL</span></span>
+<span id="cb16-79"><a href="#cb16-79"></a><span class="co">#&gt;   ..$ expenseProfitRate                     : NULL</span></span>
+<span id="cb16-80"><a href="#cb16-80"></a><span class="co">#&gt;   ..$ sumProfitRate                         : NULL</span></span>
+<span id="cb16-81"><a href="#cb16-81"></a><span class="co">#&gt;   ..$ terminalBonusRate                     : NULL</span></span>
+<span id="cb16-82"><a href="#cb16-82"></a><span class="co">#&gt;   ..$ terminalBonusFundRate                 : NULL</span></span>
+<span id="cb16-83"><a href="#cb16-83"></a><span class="co">#&gt;   ..$ profitParticipationScheme             : NULL</span></span>
+<span id="cb16-84"><a href="#cb16-84"></a><span class="co">#&gt;   ..$ profitComponents                      : chr [1:5] &quot;interest&quot; &quot;risk&quot; &quot;expense&quot; &quot;sum&quot; ...</span></span>
+<span id="cb16-85"><a href="#cb16-85"></a><span class="co">#&gt;   ..$ profitClass                           : NULL</span></span>
+<span id="cb16-86"><a href="#cb16-86"></a><span class="co">#&gt;   ..$ profitRates                           : NULL</span></span>
+<span id="cb16-87"><a href="#cb16-87"></a><span class="co">#&gt;   ..$ scenarios                             : list()</span></span>
+<span id="cb16-88"><a href="#cb16-88"></a><span class="co">#&gt;  $ Hooks              :List of 2</span></span>
+<span id="cb16-89"><a href="#cb16-89"></a><span class="co">#&gt;   ..$ adjustCashFlows     : NULL</span></span>
+<span id="cb16-90"><a href="#cb16-90"></a><span class="co">#&gt;   ..$ adjustCashFlowsCosts: NULL</span></span></code></pre></div>
+<div class="sourceCode" id="cb17"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb17-1"><a href="#cb17-1"></a></span>
+<span id="cb17-2"><a href="#cb17-2"></a><span class="co"># pandoc.listRK(InsuranceContract.ParameterDefaults)</span></span></code></pre></div>
+</div>
+<div id="tarif-specification-and-implementation-of-a-concrete-contract" class="section level1">
+<h1><span class="header-section-number">4</span> Tarif Specification and implementation of a concrete contract</h1>
+<p>An insurance contract is modelled by</p>
+<div class="sourceCode" id="cb18"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb18-1"><a href="#cb18-1"></a>riskTarif =<span class="st"> </span>InsuranceTarif<span class="op">$</span><span class="kw">new</span>(</span>
+<span id="cb18-2"><a href="#cb18-2"></a>  <span class="dt">name =</span> <span class="st">&quot;Example Risk Tarif&quot;</span>, </span>
+<span id="cb18-3"><a href="#cb18-3"></a>  </span>
+<span id="cb18-4"><a href="#cb18-4"></a>)</span></code></pre></div>
+</div>
+<div id="cost-structure" class="section level1">
+<h1><span class="header-section-number">5</span> Cost structure</h1>
+<p>Costs of an insurance contracts can have</p>
+</div>
+<div id="calculation-approach-cash-flows-present-values-premiums-and-reserves" class="section level1">
+<h1><span class="header-section-number">6</span> Calculation approach: Cash flows, present values, premiums and reserves</h1>
+</div>
+<div id="advance-profit-participation-premium-rebate" class="section level1">
+<h1><span class="header-section-number">7</span> Advance profit participation (premium rebate)</h1>
+</div>
+<div id="profit-participation-schemes" class="section level1">
+<h1><span class="header-section-number">8</span> Profit participation schemes</h1>
+</div>
+<div id="modifying-the-default-calculation-approach" class="section level1">
+<h1><span class="header-section-number">9</span> Modifying the default calculation approach</h1>
 </div>