From eb84eb8ab8127ffcdbbf88c421e6ad6bcc1b36bd Mon Sep 17 00:00:00 2001
From: Reinhold Kainhofer <reinhold@kainhofer.com>
Date: Sat, 7 May 2016 20:22:10 +0200
Subject: [PATCH] Split up the package into the ValuationTables and the
 LifeInsuranceContracts packages

---
 DESCRIPTION                                   |   24 +-
 Formulas_Reference/.gitignore                 |   10 -
 .../Formelsammlung_Beispielrechnung.pdf       |  Bin 197881 -> 0 bytes
 .../Formelsammlung_Beispielrechnung.tex       | 1060 -----------------
 NAMESPACE                                     |   34 +-
 R/HelperFunctions.R                           |  154 ---
 R/InsuranceContract.R                         |  209 ----
 R/InsuranceTarif.R                            |  572 ---------
 R/S4classes.R                                 |    0
 R/ValuationTables.R                           |  518 +++++---
 R/exportInsuranceContract_xlsx.R              |  409 -------
 R/plotValuationTables.R                       |   73 ++
 ValuationTables.Rproj                         |    2 +
 man/ValuationTables-package.Rd                |   41 +-
 man/plotValuationTables.Rd                    |   24 +
 man/valuationTable-class.Rd                   |  106 ++
 man/valuationTable_ageShift-class.Rd          |   47 +
 ...valuationTable_improvementFactors-class.Rd |   38 +
 man/valuationTable_joined-class.Rd            |   37 +
 man/valuationTable_mixed-class.Rd             |   56 +
 man/valuationTable_observed-class.Rd          |   18 +
 man/valuationTable_period-class.Rd            |   51 +
 man/valuationTable_trendProjection-class.Rd   |   57 +
 23 files changed, 949 insertions(+), 2591 deletions(-)
 delete mode 100644 Formulas_Reference/.gitignore
 delete mode 100644 Formulas_Reference/Formelsammlung_Beispielrechnung.pdf
 delete mode 100644 Formulas_Reference/Formelsammlung_Beispielrechnung.tex
 delete mode 100644 R/HelperFunctions.R
 delete mode 100644 R/InsuranceContract.R
 delete mode 100644 R/InsuranceTarif.R
 delete mode 100644 R/S4classes.R
 delete mode 100644 R/exportInsuranceContract_xlsx.R
 create mode 100644 R/plotValuationTables.R
 create mode 100644 man/plotValuationTables.Rd
 create mode 100644 man/valuationTable-class.Rd
 create mode 100644 man/valuationTable_ageShift-class.Rd
 create mode 100644 man/valuationTable_improvementFactors-class.Rd
 create mode 100644 man/valuationTable_joined-class.Rd
 create mode 100644 man/valuationTable_mixed-class.Rd
 create mode 100644 man/valuationTable_observed-class.Rd
 create mode 100644 man/valuationTable_period-class.Rd
 create mode 100644 man/valuationTable_trendProjection-class.Rd

diff --git a/DESCRIPTION b/DESCRIPTION
index 53403f3..db17621 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,9 +1,23 @@
 Package: ValuationTables
 Type: Package
-Title: A framework for cohort life tables and general life insurance contracts
 Version: 1.0
-Date: 2016-04-01
-Author: Reinhold Kainhofer <reinhold@kainhofer.com>
+Date: 2016-05-01
+Title: A framework for cohort life tables and general life insurance contracts
+Authors@R: c(person("Reinhold", "Kainhofer", role=c("aut", "cre"), email="reinhold@kainhofer.com"))
+Author: Reinhold Kainhofer [aut, cre]
 Maintainer: Reinhold Kainhofer <reinhold@kainhofer.com>
-Description: Yet to be written
-License: Not yet finally decided, probably GPL v3+ or LGPL or something similar
+Depends:
+    ggplot2,
+    methods,
+    openxlsx,
+    scales,
+    utils
+Suggests:
+    lifecontingencies
+Description: This package provides classes to implement cohort life tables
+    for actuarial calculations. In particular, birthyear-dependent mortality
+    tables using a yearly trend to extrapolate from a base year are implemented,
+    as well as period life table, cohort life tables using an age shift, and
+    merged life tables.
+License: GPL (>= 2)
+RoxygenNote: 5.0.1
diff --git a/Formulas_Reference/.gitignore b/Formulas_Reference/.gitignore
deleted file mode 100644
index 1663ebe..0000000
--- a/Formulas_Reference/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-*.aux
-*.dvi
-*.log
-*.synctex.gz
-*.backup
-*.kilepr
-Bernkopf Max
-Formelsammlung_Beispielrechnung.toc
-Formelsammlung_Beispielrechnung.out
-.gitignore
diff --git a/Formulas_Reference/Formelsammlung_Beispielrechnung.pdf b/Formulas_Reference/Formelsammlung_Beispielrechnung.pdf
deleted file mode 100644
index 19a7192e1dd76c8035108a6141d9350d7d7ca254..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 197881
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
M=3J_(uKsRZ01teJ^8f$<

diff --git a/Formulas_Reference/Formelsammlung_Beispielrechnung.tex b/Formulas_Reference/Formelsammlung_Beispielrechnung.tex
deleted file mode 100644
index d62e41b..0000000
--- a/Formulas_Reference/Formelsammlung_Beispielrechnung.tex
+++ /dev/null
@@ -1,1060 +0,0 @@
-\documentclass[a4paper,10pt]{article}
-\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
-\usepackage{geometry}
-\usepackage{tabularx, longtable}
-\usepackage{amsmath}
-\usepackage[ngerman]{babel}
-\usepackage[usenames,dvipsnames]{xcolor}
-\usepackage{enumerate}
-\usepackage{enumitem}
-\setlist{nolistsep}
-\usepackage{multirow}
-%\usepackage{itemize}
-% \usepackage{sans}
-\usepackage{array}
-\newcolumntype{C}[1]{>{\centering\arraybackslash$}p{#1}<{$}}
-\usepackage{rotating}
-\usepackage{pdflscape}
-\usepackage{hyperref}
-
-\usepackage{mathpazo}% Palatino mit mathematischen Zeichen
-\hyphenation{Prä-mi-en-frei-stel-lung}
-
-%opening
-\title{\textbf{Formelsammlung Tarif Lebensversicherung}}
-\author{Reinhold Kainhofer (reinhold@kainhofer.com)}
-
-\geometry{bottom=2cm,top=2cm,left=1.5cm,right=1.5cm}
-
-\newcommand{\PreserveBackslash}[1]{\let\temp=\\#1\let\\=\temp}
-\newcolumntype{v}[1]{>{\PreserveBackslash\centering\hspace{0pt}}p{#1}}
-
-\newcommand{\markiert}[1]{\colorbox{Goldenrod}{\textcolor{red}{#1}}}
-\newcommand{\orZero}[1]{\mathit{\left[#1\right]}}
-\newcommand{\xn}{{\act[x]{n}}}
-
-
-\setlength{\parindent}{0em}
-
-\makeatletter
-\DeclareRobustCommand{\act}[2][]{%
-\def\arraystretch{0}%
-\setlength\arraycolsep{0.5pt}%
-\setlength\arrayrulewidth{0.5pt}%
-\setbox0=\hbox{$\scriptstyle#1\ifx#1\empty{asdf}\else:\fi#2$}%
-\begin{array}[b]{*2{@{}>{\scriptstyle}c}|}
-\cline{2-2}%
-\rule[1.25pt]{0pt}{\ht0}%
-#1\ifx#1\empty\else:\fi & #2%
-\end{array}%
-}
-\makeatother
-
-\renewcommand{\labelitemi}{-)}
-% \renewcommand[\itemsep}{0cm}
-% \renewcommand{\labelitemsep}{0cm}
-\itemsep0em
-
-
-\begin{document}
-
-\maketitle
-
-% \begin{abstract}
-% 
-% \end{abstract}
-
-Bemerkung: Sämtliche Barwerte werden rekursiv bestimmt, daher werden alle Formeln in ihrer rekursiven Form angegeben. Teilweise wird aus informativen Gründen davor die entsprechende Summenformel angegeben, diese wird jedoch nicht zur tatsächlichen Berechnung benutzt. 
-
-\tableofcontents
-
-
-\begin{landscape}
-\section{Definitionen sämtlicher Variablen}
-
-\subsection{Vertragsdetails (vertragsspezifische Werte)}
-
-\newenvironment{deftab}{\begin{longtable}{p{1.7cm}p{13cm}p{9cm}}}{\end{longtable}}
-
-\begin{deftab}
- $VS$ & Versicherungssumme & \texttt{contract\$params\$sumInsured}\\
- $\widetilde{VS}$ & Versicherungssumme nach außerplanmäßiger Prä"-mi"-en"-frei"-stel"-lung\\[0.5em]
- $x$ & Eintrittsalter der versicherten Person & \texttt{contract\$params\$age}\\
- $n$ & Versicherungsdauer & \texttt{contract\$params\$policyPeriod}\\
- $l$ & Aufschubdauer des Versicherungsschutzes & \texttt{contract\$params\$deferral}\\
- $m$ & Prämienzahlungsdauer & \texttt{contract\$params\$premiumPeriod}\\
- $k$ & Prämienzahlungsweise ($k$-tel jährlich) & \texttt{contract\$params\$premiumFrequency}\\
- $g$ & Garantiedauer (für Renten)  & \texttt{contract\$params\$guaranteed}\\
- $f$ & Prämienfreistellungszeitpunkt\\[0.5em]
- 
- $YOB$ & Geburtsjahr der versicherten Person (bei Benutzung von Generationentafeln) & \texttt{contract\$params\$YOB}\\
- $Beg$ & Versicherungsbeginn (Datum, TODO)\\[0.5em]
-
- $q_{x+t}$ & einjährige Sterbewahrscheinlichkeit der versicherten Person (aus $YOB$ und $x$ bestimmt) & \texttt{contract\$params\$transitionProbabilities\$q}\\
- $i_{x+t}$ & einjährige Erkrankungswahrscheinlichkeit (z.B. Dread Disease, Krebs, etc.) & \texttt{contract\$params\$transitionProbabilities\$i} \\
- $p_{x+t}$ & einjährige Überlebenswahrscheinlichkeit als Aktiver, $p_{x+t} = 1-q_{x+t}-i_{x+1}$ & \texttt{contract\$params\$transitionProbabilities\$p} \\
- $\omega$  & Höchstalter gemäß der benutzten Sterbetafel  & \texttt{getOmega(tarif\$mortalityTable)} \\[0.5em]
- 
-
- $k_{Ausz}$ & unterjährige Auszahlung der Erlebensleistungen (nur Renten) & \texttt{contract\$params\$benefitFrequency}\\
- $y$ & Eintrittsalter der 2. versicherten Person (TODO)\\
- 
- 
-\end{deftab}
-
-\subsection{Tarifdetails (identisch für alle Verträge)}
-\begin{deftab}
- $i$ & Rechnungszins & \texttt{tarif\$i}\\[0.5em]
- $v$ & Diskontierungsfaktor $v=\frac1{1+i}$ & \texttt{tarif\$v}\\[0.5em]
- 
- $\rho$ & Sicherheitszuschlag auf die Prämie & \texttt{tarif\$loadings\$security} \\
- $\rho^{RG}$ & Risikosumme (relativ zu DK) im Ablebensfall bei Prämienrückgewähr & \texttt{tarif\$premiumRefundLoading} \\
- $uz(k)$ & Unterjährigkeitszuschlag bei $k$-tel jährlicher Prämienzahlung (in \% der Prämie) & \texttt{tarif\$premiumFrequencyLoading}\\
- $O(k)$ & Ordnung der Unterjährigkeitsrechnung der Erlebenszahlungen (0./""1./""1,5./""2. Ordnung) & \texttt{tarif\$benefitFrequencyOrder}\\[0.5em]
- 
-\end{deftab}
-
-\subsection{Leistungen}
-
-\begin{deftab}
- $\Pi_t$ & (Netto-)Prämie zum Zeitpunkt $t$ (vorschüssig), $\Pi^{nachsch.}_t$ für nachschüssige Prämienzahlungsweise, normiert auf 1 & \texttt{contract\$cashFlows\$premiums\_advance}\\
- $\Pi^{nachsch.}_t$ & (Netto-)Prämie zum Zeitpunkt $t$ (nachschüssig), normiert auf 1 & \texttt{contract\$cashFlows\$premiums\_arrears}\\
- $PS_t$ &Bruttoprämiensumme bis zum Zeitpunkt $t$: $PS_t=\sum_{j=0}^t \Pi^a_t$\\
- $PS$ & Bruttoprämiensumme über die gesamte Vertragslaufzeit  & \texttt{contract\$premiumSum}\\[0.5em]
- 
- $\ddot{e}_t$ & vorschüssige Erlebenszahlung zum Zeitpunkt $t$ (normiert auf 1) & \texttt{contract\$cashFlows\$survival\_advance}\\
- $e_t$ & nachschüssige Erlebenszahlung zum Zeitpunkt $t$ (normiert auf 1) & \texttt{contract\$cashFlows\$survival\_arrears}\\[0.5em]
- 
- $\ddot{e}_t^*$ & vorschüssige garantierte Zahlung zum Zeitpunkt $t$ (normiert auf 1) & \texttt{contract\$cashFlows\$guaranteed\_advance}\\
- $e_t^*$ & nachschüssige garantierte Zahlung zum Zeitpunkt $t$ (normiert auf 1) & \texttt{contract\$cashFlows\$guaranteed\_arrears}\\[0.5em]
- 
- $a_t$ & Ablebensleistung proportional zur Versicherungssumme (nachschüssig) & \texttt{contract\$cashFlows\$death\_sumInsured}\\
- $a_t^{(RG)}$ & Ablebensleistung für Prämienrückgewähr (normiert auf Prämie 1, relativ zu Prämienzumme $PS$) & \texttt{contract\$cashFlows\$death\_GrossPremium}\\[0.5em]
- $\widetilde{a}_t$ & Ablebensleistung nach außerplanmäßiger Prämienfreistellung proportional zur Versicherungssumme (nachschüssig) & \texttt{contract\$cashFlows\$death\_PremiumFree}\\
- 
- $\overrightarrow{CF}^B_t$ & Leistungscashflow (relativ zur jeweiligen Basis, sowie vor"~/""nachschüssig) als Matrix dargestellt
-\end{deftab}
-
-\subsection{Kosten}
-Mögliche Basen für die Kostenfestsetzung sind:
-\begin{align*}
- \text{Basis} &= \begin{cases}\text{VS ... Versicherungssumme (\texttt{"{}SumInsured"})}\\\text{PS ... gesamte Prämiensumme  (\texttt{"{}SumPremiums"})}\\\text{BP ... Bruttojahresprämie  (\texttt{"{}GrossPremium"})}\end{cases} &
- \text{Dauer} &= \begin{cases}\text{1 ... einmalig bei Abschluss (\texttt{"{}once"})}\\\text{PD ... Prämienzahlungsdauer (\texttt{"{}PremiumPeriod"})}\\\text{Prf ... Nach Ablauf der Prämienzahlungsdauer (\texttt{"{}PremiumFree"})}\\\text{LZ ... gesamte Laufzeit (\texttt{"{}PolicyPeriod"})}\end{cases}
-\end{align*}
-
-
-\begin{deftab}
- $\alpha_t^{\text{Basis},\text{Dauer}}$ & Abschlusskostensatz relativ zu Basis über die angegebene Dauer & \texttt{tarif\$costs["{}alpha",,]}\\
- $Z_t^{\text{Basis},\text{Dauer}}$ & Zillmerkostensatz relativ zu Basis über die angegebene Dauer & \texttt{tarif\$costs["{}Zillmer",,]}\\
- $\beta_t^{\text{Basis},\text{Dauer}}$ & Inkassokostensatz relativ zu Basis über die angegebene Dauer & \texttt{tarif\$costs["{}beta",,]}\\
- $\gamma_t^{\text{Basis},\text{Dauer}}$ & Verwaltungskostensatz relativ zu Basis über die angegebene Dauer & \texttt{tarif\$costs["{}gamma",,]}\\
- $\widetilde{\gamma}_t^{\text{Basis},\text{Dauer}}$ & Verwaltungskostensatz nach außerplanmäßiger Prämienfreistellung relativ zu Basis über die angegebene Dauer & \texttt{tarif\$costs["{}gamma\_nopremiums",,]}\\[0.5em]
- 
- $\alpha_t^{\text{Basis}}$ & Abschlusskosten-Cash Flow relativ zu Basis zu $t$ & \texttt{contract\$cashFlowsCosts[,"{}alpha", Basis]}\\
- $Z_t^{\text{Basis}}$ & Zillmerkosten-Cash Flow relativ zu Basis zu $t$  & \texttt{contract\$cashFlowsCosts[,"{}Zillmer", Basis]}\\
- $\beta_t^{\text{Basis}}$ & Inkassokosten-Cash Flow relativ zu Basis zu $t$  & \texttt{contract\$cashFlowsCosts[,"{}beta", Basis]}\\
- $\gamma_t^{\text{Basis}}$ & Verwaltungskosten-Cash Flow relativ zu Basis zu $t$  & \texttt{contract\$cashFlowsCosts[,"{}gamma", Basis]}\\
- $\widetilde{\gamma}_t^{\text{Basis}}$ & Verwaltungskosten-Cash Flow nach außerplanmäßiger Prämienfreistellung relativ zu Basis zu $t$  & \texttt{contract\$cashFlowsCosts[,"{}gamma\_nopremiums", Basis]}\\[0.5em]
-
- $\overrightarrow{CF}^C_t$ & Kostencashflows (relativ zur jeweiligen Basis) als Matrix dargestellt & \texttt{contract\$cashFlowsCosts["{}t",,]}
-\end{deftab}
-
-\subsection{Barwerte}
-
-\begin{deftab}
- $P_\xn(t)$ & BW der zuk. Prämienzahlungen (mit Prämie 1) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$premiums}\\
- $E^*_\xn(t)$ & BW der zuk.  garantierten Zahlungen (mit VS 1) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$guaranteed}\\
- $E_\xn(t)$ & BW der zuk.  Erlebenszahlungen (mit VS 1) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$survival}\\
- $E^{(k)}_\xn(t)$ & BW der zuk.  Erlebenszahlungen (mit VS 1) bei $k$-tel jährlicher Auszahlung zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$survival}\\
- $\alpha(k)$, $\beta(k)$ & Unterjährigkeitskorrektur bei $k$-tel jährlicher Auszahlung\\
- $A_\xn(t)$ & BW der zuk.  Ablebensleistungen (mit VS 1) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$death\_SumInsured}\\
- $A_\xn^{prf}(t)$  & BW der zuk.  Ablebensleistungen (mit VS 1) zum Zeitpunkt $t$ nach Prämienfreistellung & \texttt{contract\$presentValues\$death\_GrossPremium}\\
- $A^{(RG)}_\xn(t)$ & BW der zuk.  Ablebensleistungen aus Prämienrückgewähr (mit BP 1) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$death\_PremiumFree}\\[0.5em]
- 
- $PV^{B1}_\xn(t)$ & BW aller zuk.  Leistungen (ohne Prämienrückgewähr) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$benefits}\\[1em]
- $PV^B_\xn(t)$ & BW aller zuk.  Leistungen (inkl. Prämienrückgewähr) zum Zeitpunkt $t$ & \texttt{contract\$presentValues\$benefitsAndRefund}\\[1em]
- 
-\end{deftab}
- KOSTEN (TODO)
-
-\subsection{Prämien und Prämienzerlegung}
-
-\begin{deftab}
- $\Pi^1_\xn$ & Nettoprämie auf VS 1 & \texttt{contract\$premiums[["{}unit.net"]]}\\
- $\Pi_\xn^{1,Z}$ & Zillmerprämie auf VS 1 & \texttt{contract\$premiums[["{}unit.Zillmer"]]}\\
- $\Pi_\xn^{1,a}$ & Bruttoprämie (``adequate'' bzw. ``expense-load premium'') auf VS 1 & \texttt{contract\$premiums[["{}unit.gross"]]}\\[0.5em]
- $\Pi_\xn$ & Nettoprämie & \texttt{contract\$premiums[["{}net"]]}\\
- $\Pi_\xn^Z$ & Zillmerprämie & \texttt{contract\$premiums[["{}Zillmer"]]}\\
- $\Pi_\xn^a$ & Bruttoprämie (``adequate'' bzw. ``expense-load premium'') & \texttt{contract\$premiums[["{}gross"]]}\\[0.5em]
- 
- $\Pi_\xn^\alpha$ & $\alpha$-Kostenprämie (Abschlusskostenprämie)\\
- $\Pi_\xn^\beta$ & $\beta$-Kostenprämie (Inkassokostenprämie)\\
- $\Pi_\xn^\gamma$ & $\gamma$-Kostenprämie (Verwaltungskostenprämie)\\[0.5em]
-
- 
- $\Pi_\xn^\text{inv.}$ & Inventarprämie (Netto- plus Verwaltungskostenprämie)\\[1em]
- 
- $\Pi_\xn^s$ & Sparprämie (zum Aufbau des Nettodeckungskapitals investierter Teil der Prämie)\\
- $\Pi_\xn^r$ & Risikoprämie (zur Deckung des einjährigen Ablebensrisikos benutzter Teil der Prämie)\\[0.5em]
- 
- $\Pi_\xn^v$ & verrechnete Prämie (Bruttoprämie inkl. Rabatte, Zuschläge, Stück"-kosten und Steuer) & \texttt{contract\$premiums[["{}written"]]}\\
- $\Pi_\xn^\text{tax}$ & Versicherungssteuer & \texttt{contract\$premiums[["{}tax"]]}\\
-\end{deftab}
-
-\subsection{Absolutwerte der Cashflows und Barwerte}
-
-TODO
-
-\subsection{Rückstellungen}
-
-\begin{deftab}
- $_{t}V_\xn$ & Nettodeckungskapital zum Zeitpunkt $t$  & \texttt{contract\$reserves[,"net"]}\\
- $_{t}V^a_\xn$ & Brutto-Deckungskapital (``adequate'' bzw. ``expense-loaded reserve'') & \texttt{contract\$reserves[,"adequate"]}\\
- $_{t}V^Z_\xn$ & Zillmerreserve bei Zillmerung & \texttt{contract\$reserves[,"Zillmer"]}\\
- $_{t}V^\alpha_xn$ & Abschlusskostenreserve & \texttt{contract\$reserves[,"TODO"]}\\
- $_{t}V^\beta_xn$ & Inkassokostenreserve (typischerweise $=0$)& \texttt{contract\$reserves[,"TODO"]}\\
- $_{t}V^\gamma_xn$ & Verwaltungskostenreserve & \texttt{contract\$reserves[,"gamma"]}\\
- $_{t}V^{Umr}_\xn$ & Umrechnungsreserve (Basis für Vertragskonvertierungen und Prämienfreistellung), inkl. anteiliger Abschlusskostenrückerstattung bei Beendigung innerhalb von fünf Jahren& \texttt{contract\$reserves[,"reduction"]}\\
- $AbskErh(t)$ & Anteilsmäßige Rückerstattung der Abschlusskosten bei Kündigung innerhalb von fünf Jahren& \texttt{contract\$reserves[,"alphaRefund"]}\\[1em]
- 
- $BilRes_{t+u}$  & Bilanzreserve (Interpolation aus  $_{t}V^{x}_\xn$ und $_{t+1}V^{x}_\xn$)
-\end{deftab}
-
-\subsection{Werte nach außerplanmäßiger Prämienfreistellung}
-
-Werte nach außerplanmäßiger Prämienfreistellung werden durch ein $\widetilde{\quad}$ über dem jeweiligen Symbol angezeigt.
- 
-
-
-
-
-\end{landscape}
-\pagebreak
-
-\section{Kosten}
-
-\subsection{Abschlusskosten (\texorpdfstring{$\alpha$}{alpha}-Kosten) / Zillmerkosten (Z-Kosten)}
-\begin{itemize}
- \item Einmalig (bei Vertragsabschluss)
- \begin{itemize}
-   \item \markiert{an Versicherungssumme}
-   \item \markiert{an Brutto-Prämiensumme}\footnote{Entspricht Einmalprämie bei Einmalerlag}
-   \item an Barwert der Versicherungsleistungen (z.B. Rentenbarwert) % HP PV5F & PV6F
- \end{itemize}
- \item Laufend (während Prämienzahlungsdauer)\footnote{Bei Einmalerlag sind einmalige $\alpha$-Kosten und laufende $\alpha$-Kosten auf die Prämie während der Prämienzahlungsdauer ident.}
- \begin{itemize}
-   \item \markiert{an Bruttoprämie}
-   \item an Brutto-Prämiensumme
- \end{itemize}
- \item Laufend (über gesamte Laufzeit des Vertrags)
- \begin{itemize}
-   \item an Bruttoprämie
-   \item an Brutto-Prämiensumme
- \end{itemize}
- 
-\end{itemize}
-
-% TODO: Check the following tariffs:
-%   - GW PV5F & PV6F
-
-\subsection{Inkassokosten (\texorpdfstring{$\beta$}{beta}-Kosten)}
-
-\begin{itemize}
- \item Laufend an Bruttoprämie während Prämienzahlungsdauer (einmalig bei Einmalerlag)
-\end{itemize}
-
-
-\subsection{Verwaltungskosten (\texorpdfstring{$\gamma$}{gamma}-Kosten)}
-
-Laufend während der gesamten Laufzeit verrechnet:
-
-\begin{itemize}
- \item \markiert{an Versicherungssumme (prämienpflichtig)}
- \item \markiert{an Versicherungssumme (planmäßig/außerplanmäßig prämienfrei)}
- \item an Leistungsbarwert / Rentenbarwert (=Deckungskapital) (prämienfrei) % GW PS0-9 & PV0-9
- \item an Prämiensumme (prämienpflichtig) (=am Rentenbarwert zu Vertragsbeginn bei sof.beg.LR mit EE)
- \item an Prämiensumme (planmäßig/außerplanmäßig prämienfrei)
- 
- \item am Ablösekapital während Aufschubzeit % ER III B-PZV Single
- \item \markiert{an jeder Erlebenszahlung/Rente (während Liquiditätsphase)} % ER III B-PZV Single
- \item am Deckungskapital % SV I5U
-\end{itemize}
-
-% TODO: Check the following tariffs:
-%   - GW PS0-9 & PV0-9
-%   - ER III B-PZV Single
-
-\subsection{Stückkosten \textit{StkK}}
-
-\begin{itemize}
- \item Stückkosten (Absolutbetrag) $StkK$ pro Jahr während Prämienzahlungsdauer (bzw. einmalig bei Einmalprämie)
-\end{itemize}
-
-
-\subsection{Übersicht}
-
-Die häufigsten Kostentypen sind \markiert{markiert}.
-
-% % \begin{longtable}{||l|v{3cm}|v{3cm}|v{3cm}|v{3cm}||}\hline\hline
-% %  & an VS & an PS & an JBP\footnote{während der gesamten Prämienzahlungsdauer} & \\ \hline
-% %  
-% % Abschluss $\alpha$ & \markiert{$\alpha^{VS}_{j}$ (einmalig)} & $\alpha^{PS}_{j}$ (LZ)\footnote{evt. mit jährlicher faktorieller Aufwertung (evt. mit Obergrenze)} & $\alpha^{BP}_{j}$ (LZ)\linebreak \markiert{$\alpha_{3a,j}$ (PrD)} & \\ \hline
-% % Zillmer $z$ & \markiert{$z^{VS}_{j}$} & \markiert{$z^{PS}_{j}$} & & \\ \hline
-% % Inkasso $\beta$ & & & \markiert{$\beta_{j}$ (PrD)} & \\ \hline
-% % Verwaltung $\gamma$ & \markiert{$\gamma^{VS}_{j}$ (PrD)}\linebreak \markiert{$\gamma^{VS,fr}_{j}$ (nach PrD)}\linebreak \markiert{$\gamma^{frei}_{j}$ (PrFrei)} & $\gamma^{PS}_{j}$ (LZ/PrD) & & $\gamma^{BP,PrD}_{j}$ (an ErlZ, LZ) \\\hline\hline
-% % % \\[-0.9em]\hline
-% % % 
-% % % Stückkosten $K$ & 
-% % % \\\hline\hline
-% % % 
-% % %  
-% % \end{longtable}
-% % 
-
-\begin{longtable}{||lr|v{2cm}|v{2cm}|v{2cm}|v{3cm}||}\hline\hline
-Typ & Dauer & an VS & an PS & an JBP\footnote{während der gesamten Prämienzahlungsdauer} & \\ \hline
- 
-
-Abschluss $\alpha$ & einmalig      & \markiert{$\alpha^{VS,once}$} &                                                                                                    &                            & \\ 
-                   & Prämiendauer  &                              &                                                                                                    & \markiert{$\alpha^{BP,PrD}$} & \\ 
-                   & Prämienfrei   &                              &                                                                                                    &                            & \\ 
-                   & Vertragsdauer &                              & $\alpha^{PS,LZ}$\footnote{evt. mit jährlicher faktorieller Aufwertung, evt. mit Obergrenze)} & $\alpha^{BP,LZ}$          & \\ \hline
-Zillmer $z$ & einmalig      & \markiert{$z^{VS,once}$} & \markiert{$z^{PS,once}$} & & \\ 
-            & Prämiendauer  &                         &                         & & \\ 
-            & Prämienfrei   &                         &                         & & \\ 
-            & Vertragsdauer &                         & $z^{PS,LZ}$ & & \\ \hline
-Inkasso $\beta$ & einmalig      & & &                              & \\ 
-                & Prämiendauer  & & & \markiert{$\beta^{BP,PrD}$} & \\ 
-                & Prämienfrei   & & &                              & \\ 
-                & Vertragsdauer & & &                              & \\ \hline
-Verwaltung $\gamma$ & einmalig      &  & & & \\
-                    & Prämiendauer  & \markiert{$\gamma^{VS,PrD}$}    & $\gamma^{PS,PrD}$ & & \\
-                    & Prämienfrei   & \markiert{$\gamma^{VS,fr}$} &                   & & $\gamma^{BP,Erl}$ (an ErlZ) \\
-                    & Vertragsdauer & $\gamma^{VS,LZ}$           & $\gamma^{PS,LZ}$ & &  \\\hline
-
-\multirow{4}{2.5cm}{{Verwaltung $\tilde{\gamma}$ (außerplanm. prämienfrei)}} & einmalig      & & & & \\
-                    & Prämiendauer  & & & & \\
-                    & Prämienfrei   & & & & \\
-                    & Vertragsdauer & \markiert{$\tilde{\gamma}^{VS,LZ}$} & & & \\
-\hline\hline
-\end{longtable}
-
-\subsection{Kosten-Cashflows}
-Jede Kostenart ($\alpha$/Zillmer/$\beta$/$\gamma$/$\tilde{\gamma}$) und Bemessungsgrundlage (VS/{}PS/{}JBP) erzeugt aus den verschiedenen Kostendauern einen Cash-Flow-Vektor in folgender Art, der diskontiert den gesamten Kostenbarwert der jeweiligen Kostenart und Bmgl. liefert:
-\begin{equation*}
- X_t^{Bmgl} = 
- \begin{cases}
- X^{Bmgl,once} + X^{Bmgl,PrD} + X^{Bmgl,LZ} & \text{für $t=0$} \\
- \hphantom{X^{Bmgl,once} + \;\,} X^{Bmgl,PrD} + X^{Bmgl,LZ} & \text{für $0<t\leq m$} \\
- \hphantom{X^{Bmgl,once} + \;\,} X^{Bmgl,fr} \;\;\; + X^{Bmgl,LZ} & \text{für $m<t\leq n$}
- \end{cases}
-\end{equation*}
-
-
-
-% \subsubsection{Stückkosten:}
-% \begin{longtable}{lp{13cm}}
-% $K_1$\dots & Stückkosten einmalig bei Vertragsabschluss\\
-% $K$\dots & Stückkosten jährlich während Prämienzahlungsdauer\\
-% $K_{LZ}$\dots & Stückkosten jährlich während der gesamten Laufzeit\\
-% \end{longtable}
-
-\pagebreak
-
-\section{Normierte Cashflows (auf Einheitswerte)}
-
-% \begin{sidewaystable}
-\begin{center}
- 
-
-% \rotatebox{90}{
-\begin{tabular}{lp{6.5cm}v{1.6cm}v{1.5cm}v{1.5cm}v{1cm}v{1cm}}
-& Beschreibung & LR & ALV & ELV & T-F & DD\\\hline\\[0.01em]
-$pr_t$  \dots          & Prämienzahlungen (vorschüssig) zu $t$ & $t<m$ & $t<m$ & $t<m$ & $t<m$ & $t<m$ \\
-$PS$                   & Prämiensumme, $PS=\sum_{t=0}^n pr_t$\\[0.5em]\hline\\[0em]
-
-$\ddot{e}_t$  \dots    & Erlebenszahlungen vorschüssig zu $t$ & $(l+g)...n$ & 0 & $t=n$ & 0 & 0 \\
-$e_t$  \dots           & Erlebenszahlungen nachschüssig zu $t+1$& $(l+g)...n$ & 0 & $t=n$ & 0 & 0 \\
-$\ddot{e}_t^{*}$ \dots & garantierte Zahlungen vorschüssig zu $t$ & $(l+g)...n$ & 0 & 0  & $t=n$ & 0 \\
-$e_t^{*}$  \dots       & garant. Zahlungen nachschüssig zu $t+1$ & $(l+g)...n$ & 0 & 0  & 0 & 0 \\[0.5em]\hline\\[0em]
-
-$a_t$  \dots           & Ablebenszahlung zu $t+1$ & 0 & $l...n$ & 0 & 0 & 0 \\
-$d_t$  \dots           & Zahlung zu $t+1$ bei Eintritt der Erkrankung zwischen $t$ und $t+1$ & 0 & 0 & 0 & 0& $l...n$ \\[0.5em]\hline\\[0em]
-$a_t^{(RG)}$           & Ablebenszahlungen für PRG zu $t+1$ (Ableben im Jahr $t$) & $\min(t+1, m, f)$ & 0 & $\min(t+1,m,f)$ & 0 & 0 \\[0.5em]\hline
-
-\end{tabular}
-% }
-\end{center}
-% \end{sidewaystable}
-
-Die Cash-Flows können auch in Matrixform dargestellt werden:
-\begin{align*}
-%
- \overrightarrow{CF}^L_t &= \left(
- \begin{matrix} % TODO: Add an indication that the first row is in advance, the second in arrears
-pr_t & \ddot{e}_t^{*} & \ddot{e}_t & 0 & 0 & 0 \\
-pr^{(nachsch)}_t & e_t^{*} & e_t & a_t & d_t & a_t^{(RG)}\\
-\end{matrix}
- \right)
-% 
-&
- \overrightarrow{CF}^K_t &= \left(
- \begin{matrix}
-\alpha^{(VS)}_t & \alpha^{(PS)}_t  & \alpha^{(BP)}_t \\
-z^{(VS)}_t & z^{(PS)}_t  & -\\
-- & - & \beta_t \\
-\gamma^{(VS)}_t & \gamma^{(PS)}_t & -\\
-\widetilde{\gamma}^{(VS)}_t & - & -\\  
- \end{matrix}
- \right)
-\end{align*}
-
-
-\pagebreak
-
-\section{Barwerte}
-
-\subsection{Prämienbarwert}
-
-\begin{align*} 
-P_\xn(t) &= \sum_{j=t}^n pr_{t+j} \cdot v^{j-t}  \cdot {}_{j-t}p_{x+t}\\
-	  &= pr_{t} + v \cdot p_{x+t} \cdot P_\xn(t+1)
-\end{align*}
-
-\subsection{Barwert garantierter Zahlungen:}
-Garantierte Erlebensleistungen (wenn Aufschubzeit überlebt wurde):
-% TODO!
-\begin{align*} 
- E^{*}_\xn(t) &= \begin{cases}
-		    {}_{l-t}p_{x+t} \cdot v^{l-t} \cdot \sum_{j=l}^{n} \left\{\ddot{e}^{*}_{j-t}+ v\cdot e^*_{j-t}\right\} v^{j-t} & \text{für $t<l$ (Aufschubzeit)}\\
-		    \sum_{j=t}^{n} \left\{\ddot{e}^{*}_{j-t}+ v\cdot e^*_{j-t}\right\} v^{j-t} & \text{für $t\ge l$ (Liquiditätsphase)}
-                 \end{cases}\\
-   &= \ddot{e}_t^{*} + \left\{E^{*}_\xn(t+1) + e_t^*\right\}\cdot v \cdot \begin{cases}
-	    1 & \text{für $t<l$ (Aufschubzeit)}\\
-            p_{x+t} & \text{für $t\ge l$ (Liquiditätsphase)}
-       \end{cases}
-\end{align*}
-
-
-\subsection{Erlebensleistungsbarwert:}
-% 1. Person:
-\begin{align*} 
-E_\xn(t) &= \sum_{j=t}^n \left(\ddot{e}_{t+j} \cdot v^{j-t}  {}_{j-t}p_{x+t} + e_{t+j} \cdot v^{j+1-t} {}_{j+1-t}p_{x+t} \right)\\
-	  &= \ddot{e}_{t} + v \cdot p_{x+t} \cdot \left\{ e_t + E_\xn(t+1)\right\}\\
-% \intertext{2. Person:}
-% E2_{\act[y]{n}}(t) &= \ddot{e}_{t} + v \cdot p_{y+t} \cdot \left\{ e_t + E2_{\act[y]{n}}(t+1)\right\}\\
-% \intertext{gemeinsam:}
-% E12_{\act[x,y]{n}}(t) &= \ddot{e}_{t} + v \cdot p_{x+t} \cdot p_{y+t} \cdot \left\{ e_t + E12_{\act[x,y]{n}}(n,t+1)\right\}\\
-\end{align*}
-
-% \intertext{Garantierte Erlebensleistungen (wenn Aufschubzeit überlebt wurde):}
-% % \begin{align*} 
-%  E^{*}_\xn(t) &= \begin{cases}
-% 		    {}_{l-t}p_{x+t} \cdot v^{l-t} \cdot \sum_{j=l}^{n} \left\{\ddot{e}^{*}_{j-t}+ v\cdot e^*_{j-t}\right\} v^{j-t} & \text{für $t<l$ (Aufschubzeit)}\\
-% 		    \sum_{j=t}^{n} \left\{\ddot{e}^{*}_{j-t}+ v\cdot e^*_{j-t}\right\} v^{j-t} & \text{für $t\ge l$ (Liquiditätsphase)}
-%                  \end{cases}\\
-%    &= \ddot{e}_t^{*} + \left\{E^{*}_\xn(t+1) + e_t^*\right\}\cdot v \cdot \begin{cases}
-% 	    1 & \text{für $t<l$ (Aufschubzeit)}\\
-%             p_{x+t} & \text{für $t\ge l$ (Liquiditätsphase)}
-%        \end{cases}
-% \end{align*}
-\subsection{Unterjährige Auszahlung der Erlebenszahlungen}
-
-Analog zu (bei konstanter Rente)
-\begin{align*}
- \ddot{a}^{(m)}_\xn &= \ddot{a}_x^{(m)} - {}_np_x \cdot v^n \cdot \ddot{a}_{x+n}^{(m)}\\
- \ddot{a}_x^{(m)} &= \alpha(m) \ddot{a}_x - \beta(m)
-\end{align*}
-mit 
-\begin{align*}
- \alpha(m)&= \frac{d \cdot i}{d^{(m)} \cdot i^{(m)}} & \beta(m) &= \frac{i-i^{(m)}}{d^{(m)} \cdot i^{(m)}}
-\end{align*}
-und $d = \frac{i}{1+i}$, $i^{(m)} = m \cdot \left((1+i)^{1/m} -1\right)$ und $d^{(m)} = i^{(m)} / \left(1+i^{(m)}/m\right)$ bzw. approximativ mit
-\begin{center}
-\begin{tabular}{rccccc}
-& 0.Ord. & 1.Ord. & 1,5-te Ord. & 2.Ord. & \\\hline
-$\alpha(m)$ = & 1 &  & & $+\frac{m^2-1}{12 m^2} i^2$ & ...\\
-$\beta(m)$ = & $\frac{m-1}{2m}$ & $+ \frac{m^2-1}{6 m^2}i$ & $\left[+ \frac{1-m^2}{12\cdot m^2}\cdot i^2\right]$ &$+ \frac{1-m^2}{24 m^2}i^2$ & ...\\[0.3em]\hline 
-\end{tabular}
-\end{center}
-
-ergibt sich auch für allgemeine unterjährige Erlebenszahlungen $\ddot{e}_t$ eine Rekursionsgleichung.
-
-\subsubsection{Vorschüssige \textit{m}-tel jährliche Auszahlung der Erlebensleistungen}
-
-
-\begin{align*}
-E^{(m)}_\xn(t) &= \ddot{e}_t \cdot \ddot{a}_{\act[x+t]{1}}^{(m)} + v \cdot p_{x+1} \cdot E^{(m)}_\xn(t+1)\\
-  &= \ddot{e}_t \cdot \left\{\alpha(m)  - \beta(m) \cdot \left(1-p_{x+t} \cdot v\right)\right\} + v\cdot p_{x+t} \cdot E^{(m)}_\xn(t+1)
-\end{align*}
-
-
-\subsubsection{Nachschüssige \textit{m}-tel jährliche Auszahlung der Erlebensleistungen}
-
-\begin{align*}
-E^{(m)}_\xn(t) &= e_t \cdot a_{\act[x+t]{1}}^{(m)} + v \cdot p_{x+t} \cdot E^{(m)}_\xn(t+1)\\
-   &= e_t\cdot\left\{\alpha(m) - \left(\beta(m)+\frac1m\right)\cdot\left(1-p_{x+t} v\right)\right\} + v\cdot p_{x+t} \cdot E^{(m)}_\xn(t+1)
-\end{align*}
-
-\subsubsection{Allgemeine \textit{m}-tel jährliche Auszahlung der Erlebensleistungen}
-
-
-\begin{align*}
-E^{(m)}_\xn(t) = &\ddot{e}_t \cdot \left\{\alpha(m)  - \beta(m) \cdot \left(1-p_{x+t} \cdot v\right)\right\} +  \\
- &e_t\cdot\left\{\alpha(m) - \left(\beta(m)+\frac1m\right)\cdot\left(1-p_{x+t} v\right)\right\} + \\
- &v\cdot p_{x+t} \cdot E^{(m)}_\xn(t+1)
-\end{align*}
-
-
-
-
-\subsection{Ablebensbarwert}
-
-
-\begin{align*} 
-\intertext{\subsubsection*{Prämienpflichtiger Ablebensbarwert}}
-A_\xn(t) &= \sum_{j=t}^n {}_{j-t}p_{x+t} \cdot q_{x+j} \cdot v^{j-t+1} \cdot a_{j} \\
-         &= q_{x+t} \cdot v \cdot a_t + p_{x+t} \cdot v \cdot A_\xn(t+1)\\
-%
-\intertext{\subsubsection*{Prämienfreier Ablebensbarwert}}
-A^{(prf)}_\xn(t) &= q_{x+t} \cdot v \cdot a^{(prf.)}_t + p_{x+t} \cdot v \cdot A^{(prf.)}_\xn(t+1)\\
-%
-\intertext{\subsubsection*{Barwert der gesamten Prämienrückgewähr (an BP)}}
-A^{(RG)}_\xn(t) &= q_{x+t} \cdot v \cdot a^{(RG)}_t + p_{x+t} \cdot v \cdot A^{(RG)}_\xn(t+1)\\
-%
-\intertext{\subsubsection*{Barwert der bisher bereits erworbenen Prämienrückgewähr (an BP)}}
-A^{(RG-)}_\xn(t) &= a^{(RG)}_{t-1} \cdot A^{(RG-,1)}_\xn(t)\\
-A^{(RG-,1)}_\xn(t) &= q_{x+t} \cdot v \cdot 1 + p_{x+t} \cdot v \cdot A^{(RG-,1)}_\xn(t+1)\\
-%
-\intertext{\subsubsection{Barwert der künftig noch zu erwerbenden Prämienrückgewähr (an BP)}}
-A^{(RG+)}_\xn(t) &= A^{(RG)}_\xn(t) - A^{(RG-)}_\xn(t)
-\intertext{Dieser Wert ist rekursiv nicht darstellbar.}
-\end{align*}
-
-\subsection{Disease-Barwert}
-\begin{align*} 
-A^d_\xn(t) &= i_{x+t} \cdot v \cdot d_t + p_{x+t} \cdot v \cdot A^d_\xn(t+1)\\
-\end{align*}
-
-\subsection{Leistungsbarwert}
-
-\begin{align*}
-BW^L_\xn(t) &= E_\xn(t) + A_\xn(t) + A^d_\xn(t) &\text{ohne Prämienrückgewähr}\\
-BW^{L,RG}_\xn(t) &= BW^L_\xn(t) + (1+\rho^{RG}) \cdot A^{(RG)}_\xn(t)\cdot BP_\xn &\text{inkl. Prämienrückgewähr}
-\end{align*}
-
-
-
-\subsection{Kostenbarwerte}
-
-\begin{align*}
-\intertext{Abschlusskostenbarwerte:}
-AK^{(VS)}_\xn(t) &= \alpha^{VS}_{t} + v \cdot p_{x+t} \cdot AK^{(VS)}_\xn(t+1) \\
-AK^{(PS)}_\xn(t) &= \alpha^{PS}_{t} + v \cdot p_{x+t} \cdot AK^{(PS)}_\xn(t+1) \\
-AK^{(BP)}_\xn(t) &= \alpha^{BP}_{t} + + v \cdot p_{x+t} \cdot AK^{(BP)}_\xn(t+1) \\
-\intertext{Zillmerkostenbarwerte:}
-ZK^{(VS)}_\xn(t) &= z^{VS}_{t} + v \cdot p_{x+t} \cdot ZK^{(VS)}_\xn(t+1) \\
-ZK^{(PS)}_\xn(t) &= z^{PS}_{t} + v \cdot p_{x+t} \cdot ZK^{(PS)}_\xn(t+1) \\
-\intertext{Inkassokostenbarwerte:}
-IK^{(BP)}_\xn(t) &= \beta^{BP}_{t} + v \cdot p_{x+t} \cdot IK^{(BP)}_\xn(t+1) \\
-\intertext{Verwaltungskostenbarwerte:}
-VK^{(VS)}_\xn(t) &= \gamma^{VS}_{t} + v \cdot p_{x+t} \cdot VK^{(VS)}_\xn(t+1) \\
-VK^{(PS)}_\xn(t) &= \gamma^{PS}_{t} + v \cdot p_{x+t} \cdot VK^{(PS)}_\xn(t+1) \\
-\widetilde{VK}^{(VS)}_\xn(t) &= \widetilde{\gamma}^{VS}_{t} + v \cdot p_{x+t} \cdot \widetilde{VK}^{(VS)}_\xn(t+1) \\
-\end{align*}
-
-
-\subsection{Darstellung der Barwerte in Vektor-/Matrixform}
-Die Leistungs- und Kostenbarwerte können (wie auch die Cashflows zu einem Zeitpunkt) 
-in Matrixform dargestellt werden (aus Gründen der Übersichtlichkeit wird hier bei 
-allen Termen der Subscript $\xn$ unterlassen):
-\begin{align*}
-  \overrightarrow{BW}^L(t) &= \left(
- \begin{matrix}
-    P(t), & %E^{Gar}(t), & E(t), & A(t), 
-    BW^L(t), & A^{(RG)}(t)
- \end{matrix}
- \right)
-% 
- &
-%  
- \overrightarrow{BW}^K(t) &= \left(
- \begin{matrix}
-AK^{(VS)}(t) & AK^{(PS)}(t)  & AK^{(BP)}(t) \\
-% 
-ZK^{(VS)}(t) & ZK^{(PS)}(t)  & -\\
-% 
-- & - & IK^{(BP)}(t) \\
-% 
-VK^{(VS)}(t) & VK^{(PS)}(t) & -\\
-\widetilde{VK}^{(VS)}(t) & - & -\\  
- \end{matrix}
- \right)
-% 
-\end{align*}
-
-
-
-\pagebreak
-
-\section{Prämien}
-
-\subsection{Nettoprämie:}
-\begin{align*}
-NP_\xn &= \frac{%E_\xn(0) + A_\xn(0) + \left(1+\rho^{RG}\right) \cdot A^{(RG)}_\xn(0) \cdot BP_\xn}
-BW^{L}_\xn(0) + \left(1+\rho^{RG}\right) \cdot A^{(RG)}_\xn(0) \cdot BP_\xn}
-{P_\xn(0)} \cdot \left(1+\rho\right)
-\end{align*}
-
-
-\subsection{Zillmerprämie (gezillmerte Nettoprämie):}
-% TODO: Sind die beta-Kosten proportional zu BP oder zur ZP??? I.e. ist \beta im Nenner mit BP oder im Zähler?
-\begin{align*}
-ZP_\xn &= 
-\frac{%
-%   NP_\xn\cdot P_\xn(0) +
-  \overbrace{\left(BW^{L}_\xn(0) + \left(1+\rho^{RG}\right) \cdot A^{(RG)}_\xn(0) \cdot BP_\xn\right) \cdot (1+\rho)}^{=NP_\xn\cdot P_\xn(0)} +
-  ZK^{(VS)}_\xn(0) + 
-  ZK^{(PS)}_\xn(0) \cdot BP_\xn \cdot PS + 
-  ZK^{(BP)}_\xn(0)\cdot BP_\xn
-%
-}{P_\xn(0)}
-\end{align*}
-
-Varianten:
-\begin{itemize}
- \item % REFERENCE: GE Tarife!
-     $\beta$- und $\gamma$-Kosten auch in die Zillmerprämie eingerechnet. Einziger Unterschied zur Bruttoprämie ist dann, dass nur die Zillmerkosten statt der $\alpha$-Kosten aufgeteilt werden.
-\begin{align*}
-ZP_\xn &= 
-\left[%
-%   NP_\xn\cdot P_\xn(0) + 
-  BW^{L,RG}_\xn(0) \cdot (1+\rho) +
-  \left(ZK^{(VS)}_\xn(0) + IK^{(VS)}_\xn(0) + VK^{(VS)}_\xn(0)\right) +  \right.\\
-  &\qquad\left.\left(ZK^{(PS)}_\xn(0) + IK^{(PS)}_\xn(0) + VK^{(PS)}_\xn(0)\right) \cdot BP_\xn \cdot PS + \right.\\
-  &\qquad\left.\left(ZK^{(BP)}_\xn(0) + IK^{(BP)}_\xn(0) + VK^{(BP)}_\xn(0)\right) \cdot BP_\xn
-%
-\right] / %
-\left(P_\xn(0)\right)
-\end{align*}
- 
- \item % REFERENCE: ME
-    Prämienrückgewähr proportional zu Zillmerprämie (für Berechnung der Zillmerprämie):
-\begin{align*}
-ZP_\xn &= \frac{BW^L_\xn(0) + \left(1+\rho^{RG}\right) \cdot A^{(RG)}_\xn(0) \cdot ZP_\xn}{P_\xn(0)} \cdot \left(1+\rho\right)\\
-ZP_\xn &= \frac{BW^L_\xn(0)}{P_\xn(0) - \left(1+\rho^{RG}\right)\cdot A^{(RG)}_\xn(0)\cdot \left(1+\rho\right)} \cdot \left(1+\rho\right)
-\end{align*}
- 
-\end{itemize}
-
-
-\subsection{Bruttoprämie:}
-\begin{align*}
-BP_\xn &= \frac%
-{ 
-   BW^L_\xn(0)\cdot\left(1+\rho\right) + 
-   \left( AK^{(VS)}_\xn(0) + IK^{(VS)}_\xn(0) + VK^{(VS)}_\xn(0) \right)
-}%
-{
-   P_\xn(0) - 
-   A^{(RG)}_\xn \left(1+\rho^{RG}\right) \left(1+\rho\right) - 
-         AK^{(BP)}_\xn - IK^{(BP)}_\xn - VK^{(BP)}_\xn - 
-   \left(AK^{(PS)}_\xn + IK^{(PS)}_\xn + VK^{(PS)}_\xn\right) PS
-}
-\end{align*}
-Wie man deutlich sehen kann, ist die Kostenursache ($\alpha$, $\beta$ oder $\gamma$) für die Prämienbestimmung irrelevant. Es werden die Barwerte aller drei Kostenarten jeweils bei der entsprechenden Bemessungsgrundlage aufaddiert.
-% 
-\subsection{Ablebensleistung im Jahr \textit{t}:}
-\begin{align*}
-Abl(t) &= \left\{a_t + a^{(RG)}_t \cdot BP_\xn\right\} \cdot VS
-\end{align*}
-
-\subsection{Koeffizienten in Vektorschreibweise}
-Für die Berechnung der Prämien können die Koeffizienten der jeweiligen Barwerte auch mittels der Vektor-/Ma\-trix\-schreib\-wei\-se dargestellt werden (siehe Tabelle \ref{PVCoeff}).
-\begin{sidewaystable}
-\centering
-
-% \newenvironment{benarray}{\big(\begin{array}{*4{C{3.4em}}C{12em}}}{\end{array}\big)}
-\newenvironment{benarray}{\big(\begin{array}{C{4em}C{5em}C{12em}}}{\end{array}\big)}
-\newenvironment{costarray}{\left(\begin{array}{*3{C{4.7em}}}}{\end{array}\right)}
-% TODO: laufende alpha-Kosten
-\begin{tabular}{||ll|c|c||}\hline\hline
- & & Leistungen & Kosten \\ \hline\hline
- Terme & &  
-%   $\begin{benarray}P_\xn(t) & E^{Gar}_\xn(t) & E_\xn(t) & A_\xn(t)  & A_\xn^{(RG)}(t)\end{benarray}$
-  $\begin{benarray}P_\xn(t) & BW^L_\xn(t)  & A_\xn^{(RG)}(t)\end{benarray}$
- &
- $\begin{costarray}
-AK^{(VS)}_\xn(t) & AK^{(PS)}_\xn(t)  & AK^{(BP)}_\xn(t) \\
-ZK^{(VS)}_\xn(t) & ZK^{(PS)}_\xn(t)  & -\\
-- & - & IK_\xn(t) \\
-VK^{(VS)}_\xn(t) & VK^{(PS)}_\xn(t) & -\\
-VK^{frei}_\xn(t) & - & -\\  
- \end{costarray}$
-\\\hline\hline
-
-
-Nettoprämie & Zähler & 
-  $\begin{benarray}0 & 1+\rho & \left(1+\rho^{RG}\right)\cdot BP_\xn \cdot \left(1+\rho\right)\end{benarray}$
- & -
-\\
-
- & Nenner & 
-  $\begin{benarray} 1 & 0 & 0 \end{benarray}$
- & - 
-\\\hline
-
-
-Zillmerprämie & Zähler & 
-  $\begin{benarray}0 & 1+\rho & \left(1+\rho^{RG}\right)\cdot BP_\xn \cdot \left(1+\rho\right)\end{benarray}$
- &
- $\begin{costarray}
-0 & 0 & 0 \\
-1 & BP_\xn\cdot PS & BP_\xn\\
-\orZero{1} & \orZero{BP_\xn\cdot PS} & \orZero{BP_\xn} \\
-\orZero{1} & \orZero{BP_\xn\cdot PS} & \orZero{BP_\xn} \\
-0 & 0 & 0 \\
- \end{costarray}$
-\\
-
- & Nenner & 
-  $\begin{benarray} 1 & 0 & 0\end{benarray}$
- &
--
-\\\hline
-
-Bruttoprämie & Zähler & 
-   $\begin{benarray}0 & 1+\rho & 0\end{benarray}$
- &
- $\begin{costarray}
-1 & 0 & 0 \\
-0 & 0 & 0\\
-1 & 0 & 0 \\
-1 & 0 & 0\\
-0 & 0 & 0\\
- \end{costarray}$
-\\
-
- & Nenner & 
-  $\begin{benarray}1 & 0 & -(1+\rho)\cdot(1+\rho^{RG}) \end{benarray}$
- &
- $\begin{costarray}
-0 & -PS & -1 \\
-0 & 0   & 0\\
-0 & -PS & -1 \\
-0 & -PS & -1\\
-0 & 0   & 0\\
- \end{costarray}$
-\\
-
-\hline\hline
-
-\end{tabular}
-\label{PVCoeff}
-\caption{Koeffizienten der einzelnen Barwerte zur Berechnung der Prämien}
-\end{sidewaystable}
-
-
-
-\section{Zuschläge und Abschläge, Vorgeschriebene Prämie}
-
-\begin{longtable}{p{4cm}p{11cm}}
- $oUZu$ \dots & Zuschlag für Vertrag ohne ärztliche Untersuchung\\
- $SuRa=SuRa(VS)$ \dots & Summenrabatt (von Höhe der VS abhängig)\\
- $VwGew$ \dots & Vorweggewinnbeteiligung in Form eines \%-uellen Rabattes auf die Bruttoprämie\\
- $StkK$ \dots & Stückkosten pro Jahr (während Prämienzahlungsdauer, einmalig bei Einmalprämien)\\
- $PrRa=PrRa(BP)$ \dots & Prämienrabatt (von Höhe der Bruttoprämie abhängig)\\
- $VwGew_{StkK}$ \dots & Vorweggewinnbeteiligung in Form eines Rabattes auf die Prämie nach Zu-/Abschlägen (insbesondere nach Stückkosten)\\
- $PartnerRa$ \dots & Partnerrabatt auf Prämie nach Zu-/Abschlägen (z.B. bei Abschluss mehrerer Verträge), additiv zu $VwGew_{StkK}$\\
- 
- $uz(k)$ \dots & Zuschlag für unterjährige Prämienzahlung ($k$ mal pro Jahr)
- \begin{equation*}
-  uz(k)=\left.\begin{cases}uk_1 & \text {für jährliche}\\uk_2 & \text {für halbjährliche} \\ uk_4 & \text{für quartalsweise}\\uk_{12} & \text{für monatliche}\end{cases}\right\} \text{Prämienzahlung}
- \end{equation*}\\
- 
- 
- $VSt$ \dots & Versicherungssteuer (in Österreich 4\% oder 11\%) \\
-
-\end{longtable}
-
-
-Vorgeschriebene Prämie:
-\begin{multline*}
-PV_\xn = \left\{ (BP_\xn + oUZu - SuRa) \cdot VS \cdot (1-VwGew) + StkK\right\} \cdot \\ \left(1-PrRa-VwGew_{StkK}-PartnerRa\right)\cdot \frac{1+uz(k)}{k} \cdot (1+VSt)
-% 
-\end{multline*}
-
-\section{Absolute Cash-Flows und Barwerte}
-
-TODO
-
-
-\pagebreak
-
-\section{Rückstellungen und Reserven}
-
-\subsection{Deckungskapital / Reserve}
-
-\subsubsection{Nettodeckungskapital prämienpflichtig:}
-\begin{align*}
-V_\xn(t) &= \left\{BW^L_\xn(t)\cdot(1+\rho) - NP_\xn\cdot P_\xn(t)\right\} \cdot VS
-\end{align*}
-
-\subsubsection{Zillmerreserve prämienpflichtig:}
-TODO!
-\begin{align*}
-V_\xn(t) &= \left\{BW^L_\xn(t)\cdot(1+\rho) - ZP_\xn\cdot P_\xn(t)\right\} \cdot VS =\\
- &= \left\{BW^L_\xn(t)\cdot(1+\rho) - NP_\xn\cdot P_\xn(t) - ZK_\xn(0) \cdot BP_\xn(t) \cdot \frac{P_\xn(t)}{P_\xn(0)}\right\} \cdot VS \\
-\end{align*}
-
-\subsubsection{Reserve prämienpflichtig:}
-Entspricht bei Zillmerung der Zillmerreserve
-\begin{align*}
-V_\xn(t) &= \left\{BW^L_\xn(t)\cdot(1+\rho) - ZP_\xn\cdot P_\xn(t)\right\} \cdot VS \\
-\end{align*}
-
-\subsubsection{Bruttoreserve prämienpflichtig:}
-
-\begin{align*}
-V^{(b)}_\xn(t) &= \left\{BW^L_\xn(t)\cdot(1+\rho) +  - ZP_\xn\cdot P_\xn(t)\right\} \cdot VS \\
-\end{align*}
-
-\subsection{Verwaltungskostenreserve:}
-\begin{align*}
-V^{VwK}_\xn(t) &= \left\{ VK^{(VS)}_\xn(t) - \left(\frac{VK^{(VS)}_\xn(0)}{P_\xn(0)}\right) \cdot P_\xn(t)\right\} \cdot VS\\
-\end{align*}
-
-\subsection{Reserve prämienfrei:}
-\begin{align*}
-V^{frei}_\xn(t) &= \left\{(E_\xn(t) + A1_\xn(t))\cdot\widetilde{VW} + TODO \cdot \min(f,m) \cdot BP_\xn(x,n)\cdot VS\right\} \cdot (1+\rho) \\
-\end{align*}
-
-\subsection{Verwaltungskostenreserve prämienfrei:}
-\begin{align*}
-V^{WvK,frei}_\xn(t) &= VK4_\xn(t) \cdot \widetilde{VS}
-\end{align*}
-
-\section{Spar- und Risikoprämie}
-
-
-\begin{equation*}
- P_\xn(t) = SP_\xn(t) + RP_\xn(t)
-\end{equation*}
-
-
-\subsection{Sparprämie}
-
-\begin{align*}
-SP_\xn(t) &= V_\xn(t+1) \cdot v - V_\xn(t) + \left(\ddot{e}_t + v\cdot e_t\right)\cdot VS
-\end{align*}
-
-\subsection{Risikoprämie}
-\begin{align*}
-RP_\xn(t) &= v\cdot q_{x+t} \cdot \left\{Abl(t) - V_\xn(t+1)\right\} 
-\end{align*}
-
-
-\section{Bilanzreserve}
-
-\begin{tabular}{lp{14cm}}
-$BegDatum$ \dots & Beginndatum des Vertrags\\
-$BilDatum$ \dots & Bilanzstichtag  des Unternehmens\\
-$baf$ \dots & Bilanzabgrenzungsfaktor (Jahresanteil zwischen Abschlussdatum und Bilanzstichtag)
-\begin{itemize}
- \item 30/360: $baf=\frac{Monat(BilDatum+1)-Monat(BegDatum)+1}{12} \mod 1$
- \item Taggenau: $baf=\frac{BilDatum-BegDatum+1}{TageImJahr(BilDatum)} \mod 1$
- \item etc.
-\end{itemize}
-\\
-\end{tabular}
-
-
-\subsection{prämienpflichtig}
-% Bilanzabgrenzungsfaktor 
-Bilanzreserve für Versicherungsleistungen:
-\begin{align*}
-BilRes^{(L)}_\xn(t) &= (1-baf)\cdot V_\xn(t) + baf \cdot V_\xn(t+1)\\
-\intertext{Verwaltungskosten-Bilanzreserve:}
-BilRes^{(VwK)}_\xn(t) &= (1-baf)\cdot V^{(VwK)}_\xn(t) + baf \cdot V^{(VwK)}_\xn(t+1)\\
-\intertext{Gesamte Bilanzreserve:}
-BilRes_\xn(t) &= BilRes^{(L)}_\xn(t) + BilRes^{(VwK)}_\xn(t)\\
-\intertext{\subsection{prämienfrei}
-Bilanzreserve für Versicherungsleistungen, prämienfrei:}
-BilRes^{(L),frei}_\xn(t) &= (1-baf)\cdot V^{frei}_\xn(t) + baf \cdot V^{frei}_\xn(t+1)\\
-\intertext{Verwaltungskosten-Bilanzreserve, prämienfrei:}
-BilRes^{(VwK),frei}_\xn(t) &= (1-baf)\cdot V^{VwK,frei}_\xn(t) + baf \cdot V^{VwK,frei}_\xn(t+1)\\
-\intertext{Gesamte Bilanzreserve, prämienfrei:}
-BilRes^{frei}_\xn(t) &= BilRes^{(L),frei}_\xn(t) + BilRes^{(VwK),frei}_\xn(t)\\\
-\end{align*}
-
-
-\pagebreak
-
-\section{Prämienfreistellung und Rückkauf}
-
-Verteilung der $\alpha$-Kosten auf $r$ Jahre für den Rückkauf bzw. die Vertragskonversion 
-ist nicht bei allen Tarifen oder in allen Jurisdiktionen vorgesehen. => FLAG
-
-\subsection{Umrechnungsreserve}
-Sowohl Prämienfreistellung als auch Rückkauf starten von der Umrechnungsreserve, die sich aus der 
-Zillmerreserve, den Kostenrückstellungen sowie der Verteilung der $\alpha$-Kosten auf 5 Jahre ergibt:
-\begin{align*}
- V_\xn^{Umr} &= \left(V_\xn(t) + V^{VwK}_\xn(t) + AbsKErh(t)\right)\cdot (1-VwGew(TODO))
-\end{align*}
-wobei $AbsKErh(t)$ die anteilsmäßige Rückzahlung der Abschlusskosten bei Rückkauf innerhalb der ersten 
-$n(=5)$ Jahre gemäß \S 176 öVersVG bezeichnet:
-\begin{align*}
-AbskErh(t) &= \max\left(\sum_{j=0}^t Zillm(j) - \frac{t}{5} \sum_{j=0}^n Zillm(j), 0\right)&& \text{(Abschlusskostenerhöhungsbetrag)}\\
-Zillm(t) &= z^{(VS)}_t + z^{(BP)} \cdot BP_\xn + z^{(PS)}_t \cdot BP_\xn \cdot \sum_{j=0}^n pr_j &&\text{(Zillmerprämienanteil/-cashflow im Jahr $j$)}
-\end{align*}
-
-Varianten:
-\begin{itemize}
- \item Verteilung auf 5 Jahre nicht linear ($t/5$), sondern als 5-jährige Leibrente bewertet, deren Rest noch ausständig ist.
- \begin{align*}
-   AbskErh(t) &= \max\left(\sum_{j=0}^t Zillm(j) - \left(1-\frac{\ddot{a}_{\act[x+t]{r-t}}}{\ddot{a}_{\act[x]{r}}}\right) \frac{t}{5} \sum_{j=0}^n Zillm(j), 0\right)
- \end{align*}
- \item Bei zahlreichen Tarifen wird die Abschlusskostenerhöhung erst NACH dem Rückkaufsabschlag addidiert, 
-    sodass diese Erhöhung nicht vom Abschlag betroffen ist => FLAG
-\end{itemize}
-
-\subsection{Rückkaufswert (prämienpflichtig)}
-
-Zahlreiche Tarife sind NICHT rückkaufsfähig => FLAG
-
-\begin{align*}
- Rkf(t) &= f(V_\xn^{Umr}, ...) 
-\end{align*}
-
-Die Abschläge von der Umrechnungsreserve auf den Rückkaufswert sind im Allgemeinen nicht 
-standardisiert, sondern variieren je nach Versicherungsunternehmen stark. Mögliche
-Abschläge sind:
-
-\subsubsection*{Prozentualer Rückkaufsabschlag}
-Prozentualer Abschlag auf die Umrechnungsreserve, z.B. $2\%$ oder $5\%$:
-$RkfFakt=0.95$
-\begin{align*}
-f(V_\xn^{Umr}, ...) = RkfFakt \cdot V_\xn^{Umr} \text{\quad mit $RkfFakt=0.98$ oder $0.95$}
-\end{align*}
-
-\subsubsection*{Lineare Erhöhung des prozentualen Rückkaufsabschlags}
-\begin{align*}
-f(V_\xn^{Umr}, ...) &= RkfFakt(t) \cdot V_\xn^{Umr} \\
-RkfFakt(t) &= min(k_1 + t \cdot \delta k; k_2) \text{\quad mit z.B. $k_1=0.9$, $\delta k = 0.005$ und $k_2=0.98$}
-\end{align*}
-Alternativ:
-\begin{equation*}% ME L12PLK3Z
- RkfFakt(t) = \begin{cases}                
-0.95 & 1\leq t \leq 3\\
-0.95 + 0.003\cdot(t-3) & 3<t\leq 13\\
-0.98 & 13<t
-\end{cases}
-\end{equation*}
-
-
-\subsubsection*{Prozentualer Abschlag mit Mindestabschlag}
-% GW GDV1
-\begin{align*}
-f(V_\xn^{Umr}, ...) &= min\left(0.95 \cdot V_\xn^{Umr}, Abl(t), V_\xn^{Umr}-0.15 \cdot BP_\xn \cdot VS\cdot (1-VwGew)\right)
-\end{align*}
-
-% GW ER11
-\begin{align*}
-f(V_\xn^{Umr}, ...) &= min\left(0.95 \cdot V_\xn^{Umr}, Abl(t)\right)
-\end{align*}
-
-
-\subsubsection*{Prozentualer Abschlag mit Mindestabschlag (Mindesttodesfallsumme als Grenze)}
-% HP/GW:
-\begin{align*}
-f(V_\xn^{Umr}, ...) &= min(0.95 \cdot V_\xn^{Umr}, MTS(m,t)) \\
-MTS(m,t) &= ...
-\end{align*}
-
-
-\subsubsection*{Abschlag proportional zum Deckungskapital}
-% GE
-\begin{align*}
-f(V_\xn^{Umr}, ...) &= V_\xn^{Umr}\cdot \left(s_f + \max(0.97-s_f, 0) \cdot \frac{V_\xn^{Umr}}{VS}\right) \\
-s_f &=\begin{cases}0.92 & \text{ für $t<\max(10, n-5)$}\\ 1 & \text{sonst}\end{cases}
-\end{align*}
-
-
-TODO: Weitere mögliche Rückkaufsabschläge rausfinden
-
-\subsection{Stornogebühr bei Rückkauf}
-
-Manche Tarife sehen eine fixe Stornogebühr bei Rückkauf (z.B. nur in den ersten 24 Monaten) vor:
-% GW
-\begin{equation*}
- StoGeb = \min\left(\max\left(0.15 \cdot PV(x,n) \cdot\frac{pz}{1-uz(pz)} \cdot\frac1{1+VSt}, 30 \right), 300\right)
-\end{equation*}
-Ansonsten: $StoGeb=0$.
-
-
-
-\subsection{Prämienfreistellung}
-
-Der Vertrag wird zum Zeitpunkt $f$ prämienfrei gestellt, d.h. ab $f$ wird keine Prämie mehr bezahlt, 
-die Höhe des Versicherungsschutzes bestimmt sich aus dem zu $f$ vorhandenen Deckungskapital und den 
-Kostenreserven (Umrechnungsreserve). Bei Prämienrückgewähr wird nur die tatsächlich bezahlte Prämiensumme rückgewährt.
-
-Aus
-\begin{align*}
- V_\xn^{Umr}(f) - StoGeb %= \\
- = \underbrace{BW^L_\xn(f)\cdot\left(1+\rho\right)\cdot \widetilde{VS} + BW^{RG,frei}_\xn(f)\cdot \left(1+\rho\right) \cdot BP_\xn \cdot VS}_{=V^{frei}_\xn(f)} + \underbrace{VK^{frei}_\xn(f)}_{=V_\xn^{VwK,frei}(f)}
-%  =  V^{frei}_\xn(f) + V_\xn^{VwK,frei}(f)
-\end{align*}
-mit
-\begin{align*}
-BW^{RG,frei}_\xn(f) &= A^{(RG)}_\xn(t) \cdot \underbrace{\sum_{j=0}^{f-1} pr_j}_{\substack{=\min\left(f,m\right)\text{ bei }\\\text{lfd. konst. Prämie}}} && \text{(BW zukünftiger Prämienrückgewähr)}
-\end{align*}
-ergibt sich die neue Versicherungssumme $\widetilde{VS}(f)$ nach Prämienfreistellung zum Zeitpunkt $f$:
-\begin{equation*}
-\widetilde{VS}(f) = \frac
-  { V_\xn^{Umr}(f) - BW^{RG,frei}_\xn(f)\cdot (1+\rho)\cdot BP_\xn \cdot VS - StoGeb}
-  {BW^L_\xn(f)\cdot(1+\rho) + VK^{frei}_\xn(f)}
-\end{equation*}
-
-\subsection{Reserven nach außerplanmäßiger Prämienfreistellung}
-
-\subsubsection*{Nettodeckungskapital außerplanmäßig Prämienfrei zu $f$}
-
-\begin{align*}
-V^{(n),prf,f}_\xn(t) &= \left\{BW^{L,prf}_\xn(t)\cdot(1+\rho)\right\} \cdot \widetilde{VS(f)}
-\end{align*}
-
-\subsubsection{Reserve außerplanmäßig prämienfrei:}
-
-\begin{align*}
-V_\xn^{prf,f}(t) &= \left\{BW^{L,pr}_\xn(t)\cdot(1+\rho) + BW^{RG,frei,f}_{\act[x]{x}}(t)\right\} \cdot \widetilde{VS(f)} \\
-\end{align*}
-
-\subsection{Verwaltungskostenreserve außerplanmäßig prämienfrei:}
-\begin{align*}
-V^{VwK,prf,f}_\xn(t) &= \left\{ VK^{(VS), prf.}_\xn(t) + VK^{(PS),prf.}_\xn(t)\cdot PS(f)\right\} \cdot \widetilde{VS(f)}\\
-\end{align*}
-
-
-TOCHECK:
-\subsection{Reserve prämienfrei:}
-\begin{align*}
-V^{frei}_\xn(t) &= \left\{(E_\xn(t) + A1_\xn(t))\cdot\widetilde{VW} + TODO \cdot \min(f,m) \cdot BP_\xn(x,n)\cdot VS\right\} \cdot (1+\rho) \\
-\end{align*}
-
-\subsection{Verwaltungskostenreserve prämienfrei:}
-\begin{align*}
-V^{WvK,frei}_\xn(t) &= VK4_\xn(t) \cdot \widetilde{VS}
-\end{align*}
-
-\subsection{Umrechnungsreserve außerplanmäßig prämienfrei}
-\begin{align*}
- V_\xn^{Umr, prf, f}(t) &= \left(V^{prf,f}_\xn(t) + V^{VwK,prf,f}_\xn(t)\right)\cdot (1-VwGew(TODO))
-\end{align*}
-
-
-
-
-
-\end{document}
diff --git a/NAMESPACE b/NAMESPACE
index d75f824..48ea978 100644
--- a/NAMESPACE
+++ b/NAMESPACE
@@ -1 +1,33 @@
-exportPattern("^[[:alpha:]]+")
+# Generated by roxygen2: do not edit by hand
+
+export(getCohortTable)
+export(plotValuationTables)
+export(undampenTrend)
+export(valuationTable)
+export(valuationTable_ageShift)
+export(valuationTable_improvementFactors)
+export(valuationTable_joined)
+export(valuationTable_mixed)
+export(valuationTable_observed)
+export(valuationTable_period)
+exportClasses(valuationTable)
+exportClasses(valuationTable_ageShift)
+exportClasses(valuationTable_improvementFactors)
+exportClasses(valuationTable_joined)
+exportClasses(valuationTable_mixed)
+exportClasses(valuationTable_observed)
+exportClasses(valuationTable_period)
+exportMethods(ageShift)
+exportMethods(ages)
+exportMethods(baseTable)
+exportMethods(baseYear)
+exportMethods(deathProbabilities)
+exportMethods(getCohortTable)
+exportMethods(getOmega)
+exportMethods(getPeriodTable)
+exportMethods(lifeTable)
+exportMethods(periodDeathProbabilities)
+exportMethods(undampenTrend)
+import(ggplot2)
+import(methods)
+import(openxlsx)
diff --git a/R/HelperFunctions.R b/R/HelperFunctions.R
deleted file mode 100644
index e43c2f6..0000000
--- a/R/HelperFunctions.R
+++ /dev/null
@@ -1,154 +0,0 @@
-library(abind);
-
-mergeValues = function(starting, ending, t) {
-  rbind(starting[1:t,], ending[-1:-t,])
-}
-mergeValues3D = function(starting, ending, t) {
-  abind(starting[1:t,,], ending[-1:-t,,], along=1)
-}
-# Caution: px is not neccessarily 1-qx, because we might also have dread diseases so that px=1-qx-ix! However, the ix is not used for the survival present value
-calculatePVSurvival = function(px=1-qx, qx=1-px, advance, arrears=c(0), ..., m=1, mCorrection = list(alpha=1, beta=0), v=1) {
-  # assuming advance and arrears have the same dimensions...
-  init = advance[1]*0;
-  l = max(length(qx), length(advance), length(arrears));
-  q = pad0(qx, l, value=1);
-  p = pad0(px, l, value=0);
-  advance = pad0(advance, l, value=init);
-  arrears = pad0(arrears, l, value=init);
-
-  # TODO: Make this work for matrices (i.e. currently advance and arrears are assumed to be one-dimensional vectors)
-  # TODO: Replace loop by better way (using Reduce?)
-  res = rep(0, l+1);
-  for (i in l:1) {
-    # coefficients for the payments (including corrections for payments during the year (using the alpha(m) and beta(m)):
-    advcoeff = mCorrection$alpha - mCorrection$beta*(1-p[i]*v);
-    arrcoeff = mCorrection$alpha - (mCorrection$beta + 1/m)*(1-p[i]*v);
-    # The actual recursion:
-    res[i] = advance[i]*advcoeff + arrears[i]*arrcoeff + v*p[i]*res[i+1];
-  }
-  res[1:l]
-}
-
-
-calculatePVGuaranteed = function(advance, arrears=c(0), ..., m=1, mCorrection = list(alpha=1, beta=0), v=1) {
-  # assuming advance and arrears have the same dimensions...
-  init = advance[1]*0;
-  l = max(length(advance), length(arrears));
-  advance = pad0(advance, l, value=init);
-  arrears = pad0(arrears, l, value=init);
-
-  # TODO: Make this work for matrices (i.e. currently advance and arrears are assumed to be one-dimensional vectors)
-  # TODO: Replace loop by better way (using Reduce?)
-  res = rep(0, l+1);
-  for (i in l:1) {
-    # coefficients for the payments (including corrections for payments during the year (using the alpha(m) and beta(m)):
-    advcoeff = mCorrection$alpha - mCorrection$beta*(1-v);
-    arrcoeff = mCorrection$alpha - (mCorrection$beta + 1/m)*(1-v);
-    # The actual recursion:
-    res[i] = advance[i]*advcoeff + arrears[i]*arrcoeff + v*res[i+1];
-  }
-  res[1:l]
-}
-
-
-# TODO: So far, we are assuming, the costs array has sufficient time steps and does not need to be padded!
-calculatePVCosts = function(px=1-qx, qx=1-px, costs, ..., v=1) {
-  l = max(length(qx), dim(costs)[1]);
-  p = pad0(px, l, value=0);
-  costs = costs[1:l,,];
-
-  # Take the array structure from the cash flow array and initialize it with 0
-  res = costs*0;
-  prev = res[1,,]*0;
-  # Backward recursion starting from the last time:
-  for (i in l:1) {
-    # cat("values at iteration ", i, ": ", v, q[i], costs[i,,], prev);
-    res[i,,] = costs[i,,] + v*p[i]*prev;
-    prev=res[i,,];
-  }
-  res
-}
-
-calculatePVDeath = function(px, qx, benefits, ..., v=1) {
-  init = benefits[1]*0; # Preserve the possible array structure of the benefits -> vectorized calculations possible!
-  l = max(length(qx), length(benefits));
-  q = pad0(qx, l, value=1);
-  p = pad0(px, l, value=0);
-  benefits = pad0(benefits, l, value=init);
-
-  # TODO: Make this work for matrices (i.e. currently benefits are assumed to be one-dimensional vectors)
-  # TODO: Replace loop by better way (using Reduce?)
-  res = rep(init, l+1);
-  for (i in l:1) {
-    # Caution: p_x is not neccessarily 1-q_x, because we might also have dread diseases, so that px=1-qx-ix!
-    res[i] = v*q[i]*benefits[i] + v*p[i]*res[i+1];
-  }
-  res[1:l]
-}
-
-calculatePVDisease = function(px=1-qx-ix, qx=1-ix-px, ix=1-px-qx, benefits, ..., v=1) {
-  init = benefits[1]*0;
-  l = min(length(ix), length(qx), length(benefits));
-  qx = pad0(qx, l, value=1);
-  ix = pad0(ix, l, value=0);
-  px = pad0(px, l, value=0);
-  benefits = pad0(benefits, l, value=init);
-
-  # TODO: Make this work for matrices (i.e. currently benefits are assumed to be one-dimensional vectors)
-  # TODO: Replace loop by better way (using Reduce?)
-  res = rep(init, l+1);
-  for (i in l:1) {
-    res[i] = v*ix[i]*benefits[i] + v*px[i]*res[i+1];
-  }
-  res[1:l]
-}
-
-
-
-getSavingsPremium = function(reserves, v=1) {
-  pad0(reserves[-1], length(reserves))*v - reserves
-}
-
-correctionPaymentFrequency = function(m = 1, i = self$i, order = 0) {
-  # 0th-order approximation
-  alpha=1;
-  beta=0;
-  # negative orders mean that NO correction is done, e.g. because other means of
-  # correction are used like an explicit premium frequency loading on the premium.
-  if (order >=0 ) beta = beta + (m-1)/(2*m);
-  # For higher orders, simply add one term after the other!
-  if (order >= 1)     beta = beta + (m^2-1)/(6*m^2)*i; # S-Versicherung: *(1-i/2)
-  # order 1.5 has a special term that should NOT be used for higher-order approximations!
-  if (order == 1.5)   beta = beta + (1-m^2)/(12*m^2)*i^2;
-
-  if (order >= 2) {
-    beta = beta + (1-m^2)/(24*m^2)*i^2;
-    alpha = alpha + (m^2-1)/(12*m^2)*i^2;
-  }
-  # Exact value
-  if (order == Inf) {
-    d = i/(1+i);
-    im = m * ((1+i)^(1/m) - 1);
-    dm = im / (1+im/m);
-
-    alpha = d*i / (dm*im);
-    beta = (i-im) / (dm*im);
-  }
-  list(alpha=alpha, beta=beta);
-}
-
-pad0 = function(v, l, value=0) {
-  if (l>=length(v)) {
-    c(v, rep(value, l-length(v)))
-  } else {
-    v[0:l]
-  }
-}
-
-valueOrFunction = function(val, ...) {
-  if (is.function(val)) {
-    val(...)
-  } else {
-    val
-  }
-}
diff --git a/R/InsuranceContract.R b/R/InsuranceContract.R
deleted file mode 100644
index f9eab7d..0000000
--- a/R/InsuranceContract.R
+++ /dev/null
@@ -1,209 +0,0 @@
-library(R6)
-library(openxlsx);
-
-InsuranceContract = R6Class("InsuranceContract",
-
-  public = list(
-    tarif = NA,
-
-    #### Contract settings
-    params = list(
-      sumInsured = 1,
-      premiumWaiver = 0,
-      YOB = NA,
-      age = NA,
-      policyPeriod = Inf,
-      premiumPeriod = 1,
-      deferral = 0,
-      guaranteed = 0,
-
-      premiumPayments = PaymentTimeEnum("in advance"),
-      benefitPayments = PaymentTimeEnum("in advance"),
-
-      premiumFrequency = 1,
-      benefitFrequency = 1, # Only for annuities!
-
-      loadings = list(),     # Allow overriding the tariff-defined loadings (see the InsuranceTariff class for all possible names)
-      surrenderPenalty = TRUE,  # Set to FALSE after the surrender penalty has been applied once, e.g. on a premium waiver
-      alphaRefunded = FALSE     # Alpha costs not yet refunded (in case of contract changes)
-    ),
-
-    #### Caching values for this contract, initialized/calculated when the object is created
-    values = list(
-      basicData = NA,
-      transitionProbabilities = NA,
-
-      cashFlowsBasic = NA,
-      cashFlows = NA,
-      cashFlowsCosts = NA,
-      premiumSum = 0,
-
-      presentValues = NA,
-      presentValuesCosts = NA,
-
-      premiumCoefficients = NA,
-      premiums = NA,
-      absCashFlows = NA,
-      absPresentValues = NA,
-
-      reserves = NA,
-
-      premiumComposition = NA
-    ),
-
-    #### Keeping the history of all contract changes during its lifetime
-    history = list(),
-
-
-    #### The code:
-
-    initialize = function(tarif, age, sumInsured = 1,
-                          policyPeriod, premiumPeriod = policyPeriod, guaranteed = 0,
-                          ...,
-                          loadings = list(),
-                          premiumPayments = "in advance", benefitPayments = "in advance",
-                          premiumFrequency = 1, benefitFrequency = 1,
-                          deferral = 0, YOB = 1975) {
-      self$tarif = tarif;
-      self$params$age = age;
-      self$params$policyPeriod = policyPeriod;
-      if (missing(premiumPeriod) && !is.null(self$tarif$defaultPremiumPeriod)) {
-        self$params$premiumPeriod = self$tarif$defaultPremiumPeriod;
-      } else {
-        self$params$premiumPeriod = premiumPeriod;
-      }
-      self$params$sumInsured = sumInsured;
-      if (!missing(deferral))         self$params$deferral = deferral;
-      if (!missing(YOB))              self$params$YOB = YOB;
-      if (!missing(premiumPayments))  self$params$premiumPayments = premiumPayments;
-      if (!missing(benefitPayments))  self$params$benefitPayments = benefitPayments;
-      if (!missing(premiumFrequency)) self$params$premiumFrequency = premiumFrequency;
-      if (!missing(benefitFrequency)) self$params$benefitFrequency = benefitFrequency;
-      if (!missing(guaranteed))       self$params$guaranteed = guaranteed;
-      if (!missing(loadings))         self$params$loadings = loadings;
-
-      self$calculateContract();
-    },
-
-    addHistorySnapshot = function(time=0, comment="Initial contract values", type="Contract", params=self$params, values = self$values) {
-      self$history = rbind(self$history,
-                       list(time=list("time"=time, "comment"=comment, "type"=type, "params"=params, "values"=values)));
-    },
-
-    calculateContract = function() {
-      self$values$transitionProbabilities = self$determineTransitionProbabilities();
-
-      self$values$cashFlowsBasic = self$determineCashFlowsBasic();
-      self$values$cashFlows = self$determineCashFlows();
-      self$values$premiumSum = self$determinePremiumSum();
-      self$values$cashFlowsCosts = self$determineCashFlowsCosts();
-
-      self$values$presentValues = self$calculatePresentValues();
-      self$values$presentValuesCosts = self$calculatePresentValuesCosts();
-
-      # the premiumCalculation function returns the premiums AND the cofficients,
-      # so we have to extract the coefficients and store them in a separate variable
-      res = self$calculatePremiums();
-      self$values$premiumCoefficients = res[["coefficients"]];
-      self$values$premiums = res[["premiums"]]
-
-      # Update the cash flows and present values with the values of the premium
-      pvAllBenefits = self$calculatePresentValuesBenefits()
-      self$values$presentValues = cbind(self$values$presentValues, pvAllBenefits)
-
-      self$values$absCashFlows = self$calculateAbsCashFlows();
-      self$values$absPresentValues = self$calculateAbsPresentValues();
-      self$values$reserves = self$calculateReserves();
-      self$values$basicData = self$getBasicDataTimeseries()
-      self$values$premiumComposition = self$premiumAnalysis();
-
-      self$addHistorySnapshot(0, "Initial contract values", type="Contract", params=self$params, values = self$values);
-    },
-
-    determineTransitionProbabilities = function(contractModification=NULL) {
-      do.call(self$tarif$getTransitionProbabilities, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-    determineCashFlowsBasic = function(contractModification=NULL) {
-      do.call(self$tarif$getBasicCashFlows, self$params);
-    },
-    determineCashFlows = function(contractModification=NULL) {
-      do.call(self$tarif$getCashFlows, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-    determinePremiumSum = function(contractModification=NULL) {
-      sum(self$values$cashFlows$premiums_advance + self$values$cashFlows$premiums_arrears);
-    },
-    determineCashFlowsCosts = function(contractModification=NULL) {
-      do.call(self$tarif$getCashFlowsCosts, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-    calculatePresentValues = function(contractModification=NULL) {
-      do.call(self$tarif$presentValueCashFlows, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-    calculatePresentValuesCosts = function(contractModification=NULL) {
-      do.call(self$tarif$presentValueCashFlowsCosts, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-    calculatePremiums = function(contractModification=NULL) {
-      do.call(self$tarif$premiumCalculation, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-    calculatePresentValuesBenefits = function(contractModification=NULL) {
-      do.call(self$tarif$presentValueBenefits, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-    calculateAbsCashFlows = function(contractModification=NULL) {
-      do.call(self$tarif$getAbsCashFlows, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-    calculateAbsPresentValues = function(contractModification=NULL) {
-      do.call(self$tarif$getAbsPresentValues, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-    calculateReserves = function(contractModification=NULL) {
-      do.call(self$tarif$reserveCalculation, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-    premiumAnalysis = function(contractModification=NULL) {
-      do.call(self$tarif$premiumDecomposition, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-    getBasicDataTimeseries = function(contractModification=NULL) {
-      do.call(self$tarif$getBasicDataTimeseries, c(self$params, self$values, list(contractModification=contractModification)));
-    },
-
-    # Premium Waiver: Stop all premium payments at time t
-    # the SumInsured is determined from the available
-    premiumWaiver = function (t) {
-      newSumInsured = self$values$reserves[[toString(t), "PremiumFreeSumInsured"]];
-      self$params$premiumWaiver = TRUE;
-      self$params$surrenderPenalty = FALSE; # Surrencer penalty has already been applied, don't apply a second time
-      self$params$alphaRefunded = TRUE;     # Alpha cost (if applicable) have already been refunded partially, don't refund again
-
-      self$params$sumInsured = newSumInsured;
-
-      self$values$cashFlowsBasic = mergeValues(starting=self$values$cashFlowsBasic, ending=self$determineCashFlowsBasic(t), t=t);
-      self$values$cashFlows = mergeValues(starting=self$values$cashFlows, ending=self$determineCashFlows(t), t=t);
-      # Premium sum is not affected by premium waivers, i.e. everything depending on the premium sum uses the original premium sum!
-      # self$values$premiumSum = self$determinePremiumSum();
-      self$values$cashFlowsCosts = mergeValues3D(starting=self$values$cashFlowsCosts, ending=self$determineCashFlowsCosts(t), t=t);
-
-      pv = self$calculatePresentValues(t);
-      pvc = self$calculatePresentValuesCosts(t);
-      self$values$presentValuesCosts = mergeValues3D(starting=self$values$presentValuesCosts, ending=pvc, t=t);
-
-      # TODO:
-      # the premiumCalculation function returns the premiums AND the cofficients,
-      # so we have to extract the coefficients and store them in a separate variable
-      # res = self$calculatePremiums(t);
-      # self$values$premiumCoefficients = mergeValues(starting=self$values$premiumCoefficients, ending=res[["coefficients"]], t=t);
-      # self$values$premiums = mergeValues(starting= = res[["premiums"]]
-
-      # Update the cash flows and present values with the values of the premium
-      pvAllBenefits = self$calculatePresentValuesBenefits()
-      self$values$presentValues = mergeValues(starting=self$values$presentValues, ending=cbind(pv, pvAllBenefits), t=t);
-
-      self$values$absCashFlows = mergeValues(starting=self$values$absCashFlows, ending=self$calculateAbsCashFlows(t), t=t);
-      self$values$absPresentValues = mergeValues(starting=self$values$absPresentValues, ending=self$calculateAbsPresentValues(t), t=t);
-      self$values$reserves = mergeValues(starting=self$values$reserves, ending=self$calculateReserves(t), t=t);
-      self$values$basicData = mergeValues(starting=self$values$basicData, ending=self$getBasicDataTimeseries(t), t=t);
-      self$values$premiumComposition = mergeValues(starting=self$values$premiumComposition, ending=self$premiumAnalysis(t), t=t);
-
-      self$addHistorySnapshot(time=t, comment=sprintf("Premium waiver at time %d", t), type="PremiumWaiver", params=self$params, values=self$values);
-    },
-
-    dummy=NULL
-  )
-);
-# InsuranceContract$debug("premiumWaiver")
diff --git a/R/InsuranceTarif.R b/R/InsuranceTarif.R
deleted file mode 100644
index 72eb808..0000000
--- a/R/InsuranceTarif.R
+++ /dev/null
@@ -1,572 +0,0 @@
-library(R6)
-# library(lifecontingencies)
-library(objectProperties)
-
-TariffTypeEnum = setSingleEnum("TariffType", levels = c("annuity", "wholelife", "endowment", "pureendowment", "terme-fix", "dread-disease"))
-PaymentTimeEnum = setSingleEnum("PaymentTime", levels = c("in advance", "in arrears"))
-#PaymentCountEnum = setSingleEnum(PaymentCount, levels = c(1,2,3))
-
-
-# Initialize a cost matrix with dimensions: [CostType, Basis, Period], with:
-#     CostType: alpha, Zillmer, beta, gamma, gamma_nopremiums
-#     Basis:    SumInsured, SumPremiums, GrossPremium
-#     Period:   once, PremiumPeriod, PremiumFree, PolicyPeriod
-# TODO: gamma an Erlebensleistungen?
-initializeCosts = function() {
-  dimnm=list(
-    c("alpha", "Zillmer", "beta", "gamma", "gamma_nopremiums"),
-    c("SumInsured", "SumPremiums", "GrossPremium"),
-    c("once", "PremiumPeriod", "PremiumFree", "PolicyPeriod")
-  );
-  array(0,
-        dim=sapply(dimnm, length),
-        dimnames=dimnm
-      )
-}
-
-
-# base class for Insurance Tarifs (holding contrat-independent values and
-# providing methods to calculate cash flows, premiums, etc.). Objects of this
-# class do NOT contain contract-specific values like age, death probabilities,
-# premiums, reserves, etc.
-InsuranceTarif = R6Class(
-  "InsuranceTarif",
-  public  = list(
-    name  = "Insurance Contract Type",
-    tarif = "Generic Tarif",
-    desc  = "Description of the contract",
-
-    states = c("alive", "dead"),
-    mortalityTable = NULL,
-    invalidityTable = NULL,
-    i = 0, # guaranteed interest rate
-    v = 1, # discount factor
-    tariffType = TariffTypeEnum("wholelife"), # possible values: annuity, wholelife, endowment, pureendowment, terme-fix
-    premiumFrequencyOrder = 0,
-    benefitFrequencyOrder = 0,
-    widowFactor = 0,
-
-    defaultPremiumPeriod = NULL,
-    premiumRefund = 0,
-    premiumRefundLoading = 0,  # Mindesttodesfallrisiko soll damit erreicht werden, z.B. 105% der einbezahlten Prämien
-    surrenderValueCalculation = NULL, # By default, not surrender penalties
-
-    costs = list(),
-    benefitFrequencyLoading = list("1" = 0.0, "2" = 0.0, "4" = 0.0, "12" = 0.0), # TODO: Properly implement this
-    premiumFrequencyLoading = list("1" = 0.0, "2" = 0.0, "4" = 0.0, "12" = 0.0), # TODO: Implement this
-    loadings = list(    # Loadings can also be function(sumInsured, premiums)    # TODO: Add other possible arguments
-        "ongoingAlphaGrossPremium" = 0,    # Acquisition cost that increase the gross premium
-        "tax" = 0.04,                      # insurance tax, factor on each premium paid
-        "unitcosts" = 0,                   # annual unit cost for each policy (Stückkosten), absolute value
-        "security" = 0,                    # Additional security loading on all benefit payments, factor on all benefits
-        "noMedicalExam" = 0,               # Loading when no medicial exam is done, % of SumInsured
-        "noMedicalExamRelative" = 0,       # Loading when no medicial exam is done, % of gross premium
-        "sumRebate" = 0,                   # gross premium reduction for large premiums, % of SumInsured
-        "premiumRebate" = 0,               # gross premium reduction for large premiums, % of gross premium # TODO
-        "advanceProfitParticipation" = 0,                # Vorweggewinnbeteiligung (%-Satz der Bruttoprämie)
-        "advanceProfitParticipationInclUnitCost" = 0,    # Vorweggewinnbeteiligung (%-Satz der Prämie mit Zu-/Abschlägen, insbesondere nach Stückkosten)
-        "partnerRebate" = 0                # Partnerrabatt auf Prämie mit Zu-/Abschlägen, wenn mehr als 1 Vertrag gleichzeitig abgeschlossen wird, additiv mit advanceBonusInclUnitCost and premiumRebate
-      ),
-
-    features = list(  #Special cases for the calculations
-        "betaGammaInZillmer" = FALSE,      # Whether beta and gamma-costs should be included in the Zillmer premium calculation
-        "alphaRefundLinear" = TRUE         # Whether the refund of alpha-costs on surrender is linear in t or follows the NPV of an annuity
-      ),
-
-
-    initialize = function(name = NULL, mortalityTable = NULL, i = NULL, type = "wholelife", ..., loadings=list(), invalidityTable=NULL, features = list(), premiumPeriod = NULL, premiumFrequencyOrder = 0, benefitFrequencyOrder = 0, costs, surrenderValueCalculation) {
-      if (!missing(name))           self$name = name;
-      if (!missing(mortalityTable)) self$mortalityTable = mortalityTable;
-      if (!missing(i))              self$i = i;
-      if (!missing(type))           self$tariffType = type;
-      self$costs = if (!missing(costs)) costs else initializeCosts();
-      if (!missing(benefitFrequencyOrder)) self$benefitFrequencyOrder = benefitFrequencyOrder;
-      if (!missing(premiumFrequencyOrder)) self$premiumFrequencyOrder = premiumFrequencyOrder;
-      # Set default premiumPeriod, e.g. single premium, to be used when the contract has no explicit premium period
-      if (!missing(premiumPeriod))  self$defaultPremiumPeriod = premiumPeriod;
-      if (!missing(features))       self$features = c(features, self$features);
-      if (!missing(surrenderValueCalculation)) self$surrenderValueCalculation = surrenderValueCalculation;
-      if (!missing(invalidityTable)) self$invalidityTable = invalidityTable;
-      if (!missing(loadings))       self$loadings = self$getLoadings(loadings=loadings);
-
-      self$v = 1/(1+self$i);
-
-      cat(paste0("Initializing Insurance Tarif ", self$name, "...\n"));
-    },
-
-    # Merge a possibly passed loadings override with this tariff's default loadings:
-    getLoadings = function(loadings=list(), ...) {
-      c(loadings, self$loadings)
-    },
-
-    getAges = function(age, ..., YOB = 2000) {
-      ages = ages(self$mortalityTable, YOB = YOB);
-      if (age > 0) {
-        ages = ages[-age:-1];
-      }
-      ages
-    },
-
-    getTransitionProbabilities = function(age, ..., YOB = 2000) {
-      ages = self$getAges(age, YOB = YOB);
-      q = deathProbabilities(self$mortalityTable, YOB = YOB);
-      if (age > 0) {
-        q    = q[-age:-1];
-      }
-      if (!is.null(self$invalidityTable)) {
-        i = deathProbabilities(self$invalidityTable, YOB=YOB);
-        if (age > 0) {
-          i    = i[-age:-1];
-        }
-      } else {
-        i = rep(0, length(q));
-      }
-      i = pad0(i, length(q));
-      df = data.frame(age=ages, q=q, i=i, p=1-q-i, row.names = ages-age)
-      df
-    },
-    getBasicCashFlows = function(age, ..., guaranteed = 0, policyPeriod = inf, deferral = 0, maxAge = getOmega(self$mortalityTable)) {
-      maxlen = min(maxAge - age, policyPeriod);
-      cf = data.frame(
-        guaranteed = rep(0, maxlen+1),
-        survival = rep(0, maxlen+1),
-        death = rep(0, maxlen+1),
-        disease = rep(0, maxlen+1)
-      );
-      if (self$tariffType == "annuity") {
-        # guaranteed payments exist only with annuities (first n years of the payment)
-        cf$guaranteed = c(rep(0, deferral), rep(1, guaranteed), rep(0, max(0, maxlen+1 - deferral - guaranteed)))
-        cf$survival = c(rep(0, deferral + guaranteed), rep(1, max(0, maxlen - deferral - guaranteed)), 0)
-      } else if (self$tariffType == "terme-fix") {
-        cf$guaranteed = c(rep(0, policyPeriod), 1);
-      } else if (self$tariffType == "dread-disease") {
-        cf$disease = c(rep(0, deferral), rep(1, maxlen - deferral), 0);
-      } else {
-        if (self$tariffType == "endowment" || self$tariffType == "pureendowment") {
-          cf$survival = c(rep(0, policyPeriod), 1);
-        }
-        if (self$tariffType == "endowment" || self$tariffType == "wholelife") {
-          cf$death = c(rep(0, deferral), rep(1, maxlen - deferral), 0);
-        }
-      }
-      cf
-    },
-
-    getCashFlows = function(age, ..., premiumPayments = "in advance", benefitPayments = "in advance", guaranteed = 0, policyPeriod=Inf, premiumPeriod = policyPeriod, deferral=0, maxAge = getOmega(self$mortalityTable), cashFlowsBasic = NULL, premiumWaiver = FALSE) {
-      if (missing(cashFlowsBasic)) {
-        cashFlowsBasic = self$getBasicCashFlows(age = age, ..., guaranteed = guaranteed,
-              policyPeriod = policyPeriod, deferral = deferral, maxAge = maxAge);
-      }
-      cflen = length(cashFlowsBasic$survival);
-      zeroes = pad0(0, cflen);
-      ages = pad0(self$getAges(age, YOB = YOB), cflen);
-      cf = data.frame(
-        premiums_advance = zeroes,
-        premiums_arrears = zeroes,
-        guaranteed_advance = zeroes,
-        guaranteed_arrears = zeroes,
-        survival_advance = zeroes,
-        survival_arrears = zeroes,
-        death_SumInsured = zeroes,
-        disease_SumInsured = zeroes,
-        death_GrossPremium = zeroes,
-        death_Refund_past = zeroes,
-        death_PremiumFree = zeroes,
-        row.names = ages-age
-      );
-
-      # Premiums:
-      if (!premiumWaiver) {
-        premiums = pad0(rep(1, min(premiumPeriod, policyPeriod)), cflen);
-        if (premiumPayments == "in advance") {
-          cf$premiums_advance = premiums;
-        } else {
-          cf$premiums_arrears = premiums;
-        }
-      }
-
-      # Survival Benefits
-      if (benefitPayments == "in advance") {
-        cf$guaranteed_advance = pad0(cashFlowsBasic$guaranteed, cflen);
-        cf$survival_advance = pad0(cashFlowsBasic$survival, cflen);
-      } else {
-        cf$guaranteed_arrears = pad0(cashFlowsBasic$guaranteed, cflen);
-        cf$survival_arrears = pad0(cashFlowsBasic$survival, cflen);
-      }
-
-      # Death Benefits
-      cf$death_SumInsured = pad0(cashFlowsBasic$death, cflen);
-      cf$disease_SumInsured = pad0(cashFlowsBasic$disease, cflen);
-      cf$death_PremiumFree = cf$death_SumInsured;
-      # premium refund
-      if (self$premiumRefund != 0) {
-        totalpremiumcf = cf$premiums_advance + pad0(c(0, cf$premiums_arrears), cflen);
-
-        # death benefit for premium refund is the sum of all premiums so far:
-        cf$death_GrossPremium = pad0(Reduce("+", totalpremiumcf[0:policyPeriod], accumulate=TRUE), cflen)
-        cf$death_Refund_past = cf$death_GrossPremium
-        cf$death_Refund_past[(cf$death_GrossPremium >0)] = 1;
-      }
-
-      cf
-    },
-
-    getCashFlowsCosts = function(age, ..., policyPeriod=Inf, premiumPeriod = policyPeriod, premiumWaiver = FALSE, maxAge = getOmega(self$mortalityTable)) {
-      maxlen = min(maxAge - age, policyPeriod)+1;
-      policyPeriod = min(maxAge - age, policyPeriod);
-      premiumPeriod = min(policyPeriod, premiumPeriod);
-
-      dm = dim(self$costs);
-      dmnames = dimnames(self$costs);
-      cf = array(0, dim=list(maxlen, dm[1], dm[2]), dimnames=list(0:(maxlen-1), dmnames[[1]], dmnames[[2]]));
-      cf[1,,] = cf[1,,] + self$costs[,,"once"]
-      for (i in 1:premiumPeriod) {
-        cf[i,,] = cf[i,,] + self$costs[,,"PremiumPeriod"];
-      }
-      if (premiumPeriod<policyPeriod) {
-        for (i in (premiumPeriod+1):policyPeriod) {
-          cf[i,,] = cf[i,,] + self$costs[,,"PremiumFree"];
-        }
-      }
-      for (i in 1:policyPeriod) {
-        cf[i,,] = cf[i,,] + self$costs[,,"PolicyPeriod"];
-      }
-
-      # After premiums are waived, use the gamma_nopremiums instead of gamma:
-      if (premiumWaiver) {
-        cf[,"gamma",] = cf[,"gamma_nopremiums",];
-      }
-      cf
-    },
-
-    presentValueCashFlows = function(cashFlows, age, ..., premiumFrequency = 1, benefitFrequency = 1, maxAge = getOmega(self$mortalityTable)) {
-      len = length(cashFlows$premiums_advance);
-      qq = self$getTransitionProbabilities (age, ...);
-      qx = pad0(qq$q, len);
-      ix = pad0(qq$i, len);
-      px = pad0(qq$p, len);
-      benefitFrequencyCorrection = correctionPaymentFrequency(m = benefitFrequency, i = self$i, order = self$benefitFrequencyOrder);
-      premiumFrequencyCorrection = correctionPaymentFrequency(m = premiumFrequency, i = self$i, order = self$premiumFrequencyOrder);
-
-      pvRefund = calculatePVDeath (px, qx, cashFlows$death_GrossPremium, v=self$v);
-      pvRefundPast = calculatePVDeath (px, qx, cashFlows$death_Refund_past, v=self$v) * (cashFlows[,"death_GrossPremium"]-cashFlows[,"premiums_advance"]);
-
-      pv = cbind(
-        premiums = calculatePVSurvival (px, qx, cashFlows$premiums_advance, cashFlows$premiums_arrears, m=premiumFrequency, mCorrection=premiumFrequencyCorrection, v=self$v),
-        guaranteed = calculatePVGuaranteed (cashFlows$guaranteed_advance, cashFlows$guaranteed_arrears, m=benefitFrequency, mCorrection=benefitFrequencyCorrection, v=self$v),
-        survival = calculatePVSurvival (px, qx, cashFlows$survival_advance, cashFlows$survival_arrears, m=benefitFrequency, mCorrection=benefitFrequencyCorrection, v=self$v),
-        death_SumInsured = calculatePVDeath (px, qx, cashFlows$death_SumInsured, v=self$v),
-        disease_SumInsured = calculatePVDisease(px, qx, ix, cashFlows$disease_SumInsured, v=self$v),
-        death_GrossPremium = pvRefund,
-        death_Refund_past = pvRefundPast,
-        death_Refund_future = pvRefund - pvRefundPast,
-        death_PremiumFree = calculatePVDeath (px, qx, cashFlows$death_PremiumFree, v=self$v)
-      );
-
-      rownames(pv) <- pad0(rownames(qq), len);
-      pv
-    },
-
-    presentValueCashFlowsCosts = function(cashFlowsCosts, age, ..., maxAge = getOmega(self$mortalityTable)) {
-      len = dim(cashFlowsCosts)[1];
-      q = self$getTransitionProbabilities (age, ...);
-      qx = pad0(q$q, len);
-      px = pad0(q$p, len);
-
-      pvc = calculatePVCosts(px, qx, cashFlowsCosts, v=self$v);
-      pvc
-    },
-
-    # Cost values (CF, present values, etc.) are an Tx5x3 matrix => convert to Tx15 matrix (alpha | Zillmer | beta | gamma)
-    costValuesAsMatrix = function (costValues) {
-      dm = dim(costValues);
-      nm = dimnames(costValues);
-      colnames=t(outer(nm[[2]], nm[[3]], paste, sep="."));
-
-      res = aperm(costValues, c(1,3,2));
-      dim(res) = c(dm[[1]], dm[[2]]*dm[[3]]);
-      dimnames(res) = list(nm[[1]], colnames)
-      res
-    },
-
-    getAbsCashFlows = function(cashFlows, cashFlowsCosts, premiums, sumInsured=1, premiumSum=0, ...) {
-      refundAddon = self$premiumRefundLoading;
-
-      # TODO: Set up a nice list with coefficients for each type of cashflow, rather than multiplying each item manually (this also mitigates the risk of forgetting a dimension, because then the dimensions would not match, while here it's easy to overlook a multiplication)
-      # Multiply each CF column by the corresponding basis
-      cashFlows[,c("premiums_advance", "premiums_arrears")] = cashFlows[,c("premiums_advance", "premiums_arrears")] * premiums[["gross"]];
-      cashFlows[,c("guaranteed_advance", "guaranteed_arrears", "survival_advance", "survival_arrears", "death_SumInsured", "death_PremiumFree", "disease_SumInsured")] =
-        cashFlows[,c("guaranteed_advance", "guaranteed_arrears", "survival_advance", "survival_arrears", "death_SumInsured", "death_PremiumFree", "disease_SumInsured")] * sumInsured;
-      cashFlows[,c("death_GrossPremium", "death_Refund_past")] = cashFlows[,c("death_GrossPremium","death_Refund_past")] * premiums[["gross"]] * (1+refundAddon);
-
-      # Sum all death-related payments to "death"  and remove the death_GrossPremium column
-      cashFlows[,"death_SumInsured"] = cashFlows[,"death_SumInsured"] + cashFlows[,"death_GrossPremium"]
-      colnames(cashFlows)[colnames(cashFlows)=="death_SumInsured"] = "death";
-      # cashFlows[,"death_GrossPremium"] = NULL;
-
-      cashFlowsCosts = cashFlowsCosts[,,"SumInsured"] * sumInsured +
-        cashFlowsCosts[,,"SumPremiums"] * premiumSum * premiums[["gross"]] +
-        cashFlowsCosts[,,"GrossPremium"] * premiums[["gross"]];
-
-      cbind(cashFlows, cashFlowsCosts)
-    },
-
-    getAbsPresentValues = function(presentValues, premiums, sumInsured=1, premiumSum=0, ...) {
-      refundAddon = self$premiumRefundLoading;
-      pv = presentValues;
-
-      #pv[,"age"] = pv[,"premiums"];
-      #colnames(pv)[colnames(pv)=="age"] = "premiums.unit";
-
-      # Multiply each CF column by the corresponding basis
-      pv[,"premiums"] = pv[,"premiums"] * premiums[["gross"]];
-      pv[,c("guaranteed", "survival", "death_SumInsured", "disease_SumInsured", "death_PremiumFree")] =
-        pv[,c("guaranteed", "survival", "death_SumInsured", "disease_SumInsured", "death_PremiumFree")] * sumInsured;
-      pv[,c("death_GrossPremium", "death_Refund_past", "death_Refund_future")] = pv[,c("death_GrossPremium", "death_Refund_past", "death_Refund_future")] * premiums[["gross"]] * (1+refundAddon);
-      pv[,c("benefits", "benefitsAndRefund", "alpha", "Zillmer", "beta", "gamma", "gamma_nopremiums")] =
-        pv[,c("benefits", "benefitsAndRefund", "alpha", "Zillmer", "beta", "gamma", "gamma_nopremiums")] * sumInsured;
-
-      # Sum all death-related payments to "death"  and remove the death_SumInsured column
-      pv[,"death_SumInsured"] = pv[,"death_SumInsured"] + pv[,"death_GrossPremium"]
-      colnames(pv)[colnames(pv)=="death_SumInsured"] = "death";
-
-      cbind("premiums.unit"=presentValues[,"premiums"], pv)
-    },
-
-
-    presentValueBenefits = function(presentValues, presentValuesCosts, premiums, sumInsured=1, premiumSum=0, ...) {
-      refundAddon = self$premiumRefundLoading;
-      # TODO: Here we don't use the securityLoading parameter => Shall it be used or are these values to be understood without additional security loading?
-      benefits    = presentValues[,"survival"] + presentValues[,"death_SumInsured"] + presentValues[,"disease_SumInsured"];
-      allBenefits = presentValues[,"survival"] + presentValues[,"death_SumInsured"] + presentValues[,"disease_SumInsured"] + presentValues[,"death_GrossPremium"] * premiums[["unit.gross"]] * (1+refundAddon);
-
-      benefitsCosts = presentValuesCosts[,,"SumInsured"] +
-        presentValuesCosts[,,"SumPremiums"] * premiumSum * premiums[["unit.gross"]] +
-        presentValuesCosts[,,"GrossPremium"] * premiums[["unit.gross"]];
-
-      cbind(
-        benefits=benefits,
-        benefitsAndRefund=allBenefits,
-        benefitsCosts)
-    },
-
-    getPremiumCoefficients = function(type="gross", coeffBenefits, coeffCosts, ...,
-                                      premiumSum = 0,premiums = c("unit.gross"=0), loadings=list()) {
-      # Merge a possibly passed loadings override with the defaults of this class:
-      loadings = self$getLoadings(loadings=loadings);
-      securityLoading = loadings$security;
-      refundAddon = self$premiumRefundLoading;
-
-      coeff = list(
-        "SumInsured" = list("benefits" = coeffBenefits*0, "costs" = coeffCosts*0),
-        "Premium"    = list("benefits" = coeffBenefits*0, "costs" = coeffCosts*0)
-      );
-
-      coeff[["Premium"]][["benefits"]][["premiums"]]            = 1;
-
-      coeff[["SumInsured"]][["benefits"]][["guaranteed"]]       = 1+securityLoading;
-      coeff[["SumInsured"]][["benefits"]][["survival"]]         = 1+securityLoading;
-      coeff[["SumInsured"]][["benefits"]][["death_SumInsured"]] = 1+securityLoading;
-      coeff[["SumInsured"]][["benefits"]][["disease_SumInsured"]] = 1+securityLoading;
-
-      # Premium refund is handled differently for gross and net premiums, because it is proportional to the gross premium
-      if (type == "gross") {
-        coeff[["Premium"]][["benefits"]][["death_GrossPremium"]] = -(1+refundAddon) * (1+securityLoading);
-      } else if (type=="net" || type=="Zillmer") {
-        coeff[["SumInsured"]][["benefits"]][["death_GrossPremium"]] = premiums[["unit.gross"]] * (1+refundAddon) * (1+securityLoading);
-      }
-
-
-      # coefficients for the costs
-
-      if (type=="gross") {
-        coeff[["SumInsured"]][["costs"]]["alpha", "SumInsured"] = 1;
-        coeff[["SumInsured"]][["costs"]]["beta",  "SumInsured"] = 1;
-        coeff[["SumInsured"]][["costs"]]["gamma", "SumInsured"] = 1;
-        # TODO: How to handle beta costs proportional to Sum Insured
-        coeff[["Premium"]][["costs"]]["alpha", "SumPremiums"] = -premiumSum;
-        coeff[["Premium"]][["costs"]]["beta",  "SumPremiums"] = -premiumSum;
-        coeff[["Premium"]][["costs"]]["gamma", "SumPremiums"] = -premiumSum;
-
-        coeff[["Premium"]][["costs"]]["alpha", "GrossPremium"] = -1;
-        coeff[["Premium"]][["costs"]]["beta",  "GrossPremium"] = -1;
-        coeff[["Premium"]][["costs"]]["gamma", "GrossPremium"] = -1;
-
-      } else if (type=="Zillmer") {
-        coeff[["SumInsured"]][["costs"]]["Zillmer","SumInsured"] = 1;
-        coeff[["SumInsured"]][["costs"]]["Zillmer","SumPremiums"] = premiumSum * premiums[["unit.gross"]];
-        coeff[["SumInsured"]][["costs"]]["Zillmer","GrossPremium"] = premiums[["unit.gross"]];
-        if (self$features$betaGammaInZillmer) {
-          coeff[["SumInsured"]][["costs"]]["beta",  "SumInsured"] = 1;
-          coeff[["SumInsured"]][["costs"]]["gamma", "SumInsured"] = 1;
-          coeff[["SumInsured"]][["costs"]]["beta",  "SumPremiums"] = premiumSum * premiums[["unit.gross"]];
-          coeff[["SumInsured"]][["costs"]]["gamma", "SumPremiums"] = premiumSum * premiums[["unit.gross"]];
-          coeff[["SumInsured"]][["costs"]]["beta",  "GrossPremium"] = premiums[["unit.gross"]];
-          coeff[["SumInsured"]][["costs"]]["gamma", "GrossPremium"] = premiums[["unit.gross"]];
-        }
-      }
-
-      coeff
-    },
-
-    premiumCalculation = function(presentValues, presentValuesCosts, costs=self$costs, premiumSum=0, sumInsured=1, premiumFrequency = 1, loadings=list(), ...) {
-      # Merge a possibly passed loadings override with the defaults of this class:
-      loadings = self$getLoadings(loadings=loadings);
-      premiums = c("unit.net" = 0, "unit.Zillmer" = 0, "unit.gross"= 0, "net" = 0, "Zillmer" = 0, "gross" = 0, "written" = 0);
-      coefficients = list("gross"=c(), "Zillmer"=c(), "net"=c());
-
-      # net, gross and Zillmer premiums are calculated from the present values using the coefficients on each present value as described in the formulas document
-      coeff=self$getPremiumCoefficients("gross", presentValues["0",]*0, presentValuesCosts["0",,]*0, premiums=premiums, premiumSum=premiumSum, loadings=loadings)
-      enumerator  = sum(coeff[["SumInsured"]][["benefits"]] * presentValues["0",]) + sum(coeff[["SumInsured"]][["costs"]] * presentValuesCosts["0",,]);
-      denominator = sum(coeff[["Premium"   ]][["benefits"]] * presentValues["0",]) + sum(coeff[["Premium"   ]][["costs"]] * presentValuesCosts["0",,]);
-      ongoingAlphaGrossPremium = loadings$ongoingAlphaGrossPremium;
-      premiums[["unit.gross"]] = enumerator/denominator * (1 + ongoingAlphaGrossPremium);
-      premiums[["gross"]] = premiums[["unit.gross"]] * sumInsured;
-      coefficients[["gross"]] = coeff;
-
-      coeff=self$getPremiumCoefficients("net", presentValues["0",]*0, presentValuesCosts["0",,]*0, premiums=premiums, premiumSum=premiumSum)
-      enumerator  = sum(coeff[["SumInsured"]][["benefits"]] * presentValues["0",]) + sum(coeff[["SumInsured"]][["costs"]] * presentValuesCosts["0",,]);
-      denominator = sum(coeff[["Premium"   ]][["benefits"]] * presentValues["0",]) + sum(coeff[["Premium"   ]][["costs"]] * presentValuesCosts["0",,]);
-      premiums[["unit.net"]] = enumerator/denominator; premiums
-      premiums[["net"]] = premiums[["unit.net"]] * sumInsured;
-      coefficients[["net"]] = coeff;
-
-      coeff=self$getPremiumCoefficients("Zillmer", presentValues["0",]*0, presentValuesCosts["0",,]*0, premiums=premiums, premiumSum=premiumSum)
-      enumerator  = sum(coeff[["SumInsured"]][["benefits"]] * presentValues["0",]) + sum(coeff[["SumInsured"]][["costs"]] * presentValuesCosts["0",,]);
-      denominator = sum(coeff[["Premium"   ]][["benefits"]] * presentValues["0",]) + sum(coeff[["Premium"   ]][["costs"]] * presentValuesCosts["0",,]);
-      premiums[["unit.Zillmer"]] = enumerator/denominator;
-      premiums[["Zillmer"]] = premiums[["unit.Zillmer"]] * sumInsured;
-      coefficients[["Zillmer"]] = coeff;
-
-
-      # The written premium is the gross premium with additional loadings, rebates, unit costs and taxes
-      tax           = valueOrFunction(loadings$tax,          sumInsured=sumInsured, premiums=premiums);
-      unitCosts     = valueOrFunction(loadings$unitcosts,    sumInsured=sumInsured, premiums=premiums);
-      noMedicalExam = valueOrFunction(loadings$noMedicalExam,sumInsured=sumInsured, premiums=premiums);
-      noMedicalExam.relative = valueOrFunction(loadings$noMedicalExamRelative,sumInsured=sumInsured, premiums=premiums);
-      sumRebate     = valueOrFunction(loadings$sumRebate,    sumInsured=sumInsured, premiums=premiums);
-      premiumRebate = valueOrFunction(loadings$premiumRebate,sumInsured=sumInsured, premiums=premiums);
-      advanceProfitParticipation = valueOrFunction(loadings$advanceProfitParticipation,sumInsured=sumInsured, premiums=premiums);
-      advanceProfitParticipationUnitCosts = valueOrFunction(loadings$advanceProfitParticipationInclUnitCost, sumInsured=sumInsured, premiums=premiums);
-      partnerRebate = valueOrFunction(loadings$partnerRebate,sumInsured=sumInsured, premiums=premiums);
-
-      frequencyLoading = valueOrFunction(self$premiumFrequencyLoading, sumInsured=sumInsured, premiums=premiums);
-
-      premiumBeforeTax = (premiums[["unit.gross"]]*(1+noMedicalExam.relative) + noMedicalExam - sumRebate)*sumInsured * (1-advanceProfitParticipation) + unitCosts;
-      premiumBeforeTax = premiumBeforeTax * (1-premiumRebate-advanceProfitParticipationUnitCosts-partnerRebate);
-      premiumBeforeTax = premiumBeforeTax * (1+frequencyLoading[[toString(premiumFrequency)]]) / premiumFrequency;
-      premiums[["written_beforetax"]] = premiumBeforeTax;
-      premiums[["tax"]] = premiumBeforeTax * tax;
-      premiums[["written"]] = premiumBeforeTax * (1 + tax);
-
-      list("premiums"=premiums, "coefficients"=coefficients)
-    },
-
-    reserveCalculation = function (premiums, absPresentValues, absCashFlows, sumInsured=1, premiumSum=0, policyPeriod = 1, age = 0, ..., reserves = c(), loadings=list(), surrenderPenalty = TRUE) {
-      # Merge a possibly passed loadings override with the defaults of this class:
-      loadings = self$getLoadings(loadings=loadings);
-      # Net, Zillmer and Gross reserves
-      resNet = absPresentValues[,"benefitsAndRefund"] * (1+loadings$security) - premiums[["net"]] * absPresentValues[,"premiums.unit"];
-      BWZcorr = absPresentValues["0", "Zillmer"] / absPresentValues["0", "premiums"] * absPresentValues[,"premiums"];
-      resZ = resNet - BWZcorr;
-
-      resAdeq = absPresentValues[,"benefitsAndRefund"] * (1+loadings$security) +
-        absPresentValues[,"alpha"] + absPresentValues[,"beta"] + absPresentValues["gamma"] -
-        premiums[["gross"]] * absPresentValues[,"premiums.unit"];
-
-      #premiums[["Zillmer"]] * absPresentValues[,"premiums"];
-      resGamma = absPresentValues[,"gamma"] - absPresentValues["0", "gamma"] / absPresentValues["0", "premiums"] * absPresentValues[,"premiums"]
-
-
-      resConversion = (resZ + resGamma) * (1-loadings$advanceProfitParticipation);
-
-      # Alpha refund: Distribute alpha-costs to 5 year (or if shorter, the policy period):
-      r = min(policyPeriod, 5);
-      ZillmerSoFar = Reduce("+", absCashFlows$Zillmer, accumulate = TRUE);
-      ZillmerTotal = sum(absCashFlows$Zillmer);
-      len = length(ZillmerSoFar);
-      if (self$features$alphaRefundLinear) {
-        ZillmerVerteilungCoeff = pad0((0:r)/r, len, 1);
-      } else {
-        q = self$getTransitionProbabilities (age, ...);
-        # vector of all ä_{x+t, r-t}
-        pvAlphaTmp = calculatePVSurvival(q = pad0(q$q, len), advance = pad0(rep(1,r), len), v = self$v);
-        ZillmerVerteilungCoeff = (1-pvAlphaTmp/pvAlphaTmp[[1]]);
-      }
-      alphaRefund = ZillmerSoFar - ZillmerVerteilungCoeff * ZillmerTotal;
-
-      # Reduction Reserve: Reserve used for contract modifications:
-      resReduction = pmax(0, resZ+resGamma+alphaRefund) # V_{x,n}^{Rkf}
-
-      # Collect all reserved to one large matrix
-      res = cbind("net"=resNet, "Zillmer"=resZ, "adequate"= resAdeq, "gamma"=resGamma,
-                  "contractual"=resZ+resGamma, "conversion"=resConversion, "alphaRefund"=alphaRefund, "reduction"=resReduction
-                  #, "Reserve.premiumfree"=res.premiumfree, "Reserve.gamma.premiumfree"=res.gamma.premiumfree);
-      );
-      rownames(res) <- rownames(absPresentValues);
-
-      # The surrender value functions can have arbitrary form, so we store a function
-      # here in the tarif and call that, passing the reduction reserve as
-      # starting point, but also all reserves, cash flows, premiums and present values
-      if (!surrenderPenalty) {
-        # No surrender penalty any more (has already been applied to the first contract change!)
-        surrenderValue = resReduction;
-      } else if (!is.null(self$surrenderValueCalculation)) {
-        surrenderValue = self$surrenderValueCalculation(
-          resReduction, reserves=res, premiums=premiums, absPresentValues=absPresentValues,
-          absCashFlows=absCashFlows, sumInsured=sumInsured, premiumSum=premiumSum,
-          policyPeriod = policyPeriod, age = age, loadings=loadings, ...);
-      } else {
-        # by default, refund the full reduction reserve, except the advance profit participation, which is also included in the reserve, but not charged on the premium!
-        surrenderValue = resReduction * (1-loadings$advanceProfitParticipationInclUnitCost);
-      }
-
-
-      # Calculate new sum insured after premium waiver
-      Storno = 0; # TODO: Implement storno costs
-      newSI = (surrenderValue - absPresentValues[,"death_Refund_past"] * (1+loadings$security) - c(Storno)) /
-        (absPresentValues[, "benefits"] * (1+loadings$security) + absPresentValues[, "gamma_nopremiums"]) * sumInsured;
-
-      cbind(res,
-            "PremiumsPaid"=Reduce("+", absCashFlows$premiums_advance, accumulate = TRUE),
-            "Surrender"=surrenderValue,
-            "PremiumFreeSumInsured" = newSI
-      )
-    },
-
-    getBasicDataTimeseries = function(premiums, reserves, absCashFlows, absPresentValues, sumInsured=1, policyPeriod, premiumPeriod, ...) {
-      res=cbind(
-        "PremiumPayment" = c(rep(1, premiumPeriod), rep(0, policyPeriod-premiumPeriod+1)),
-        "SumInsured" = c(rep(sumInsured, policyPeriod), 0),
-        "Premiums" = absCashFlows$premiums_advance + absCashFlows$premiums_arrears,
-        "InterestRate" = rep(self$i, policyPeriod+1),
-        "PolicyDuration" = rep(policyPeriod, policyPeriod+1),
-        "PremiumPeriod" = rep(premiumPeriod, policyPeriod+1)
-      );
-      rownames(res) = 0:policyPeriod;
-      res
-    },
-
-    premiumDecomposition = function(premiums, reserves, absCashFlows, absPresentValues, transitionProbabilities, sumInsured=1, ...) {
-      l = dim(reserves)[[1]];
-      premium.savings = getSavingsPremium(reserves[,"Zillmer"], self$v) + getSavingsPremium(reserves[,"gamma"], self$v);
-      # TODO: Switch to use the Ziller or net or adequate reserve!
-      premium.risk    = self$v * (absCashFlows[,"death"] - c(reserves[,"Zillmer"][-1], 0)) * pad0(transitionProbabilities$q, l) +
-        self$v * (absCashFlows[,"disease_SumInsured"] - c(reserves[,"Zillmer"][-1], 0)) * pad0(transitionProbabilities$i, l);
-      # premium.risk    = self$v * (absCashFlows[,"death"] - c(reserves[,"Zillmer"][-1], 0)) * transitionProbabilities$q;
-
-
-      res = cbind("savings"=premium.savings, "risk"=premium.risk, "savings+risk"= premium.savings+premium.risk, "gamma"=absCashFlows[,"gamma"]);
-      rownames(res) <- rownames(premiums);
-      res
-    },
-
-
-
-
-
-
-    # Dummy to allow commas
-    dummy = 0
-  )
-);
diff --git a/R/S4classes.R b/R/S4classes.R
deleted file mode 100644
index e69de29..0000000
diff --git a/R/ValuationTables.R b/R/ValuationTables.R
index c1fae8c..d3b2afd 100644
--- a/R/ValuationTables.R
+++ b/R/ValuationTables.R
@@ -1,7 +1,30 @@
-library("lifecontingencies");
-library(ggplot2);
-
-# (virtual) base class for valuation tables, contains only the name / ID
+#' Provide life table classes for life insurance purposes
+#'
+#' @import openxlsx
+#' @import methods
+#' @import ggplot2
+#'
+"_PACKAGE"
+
+
+#' Class valuationTable
+#'
+#' Class \code{valuationTable} is the (virtual) base class for all valuation
+#' tables. It contains the name and some general values applying to all
+#' types of tables, but does not contain any data itself. Use a child class
+#' to create actual valuation tables.
+#'
+#' @slot name     The human-readable name of the valuation table
+#' @slot baseYear The base year of the valuation table (e.g. for tables with trend projection)
+#' @slot modification A function that will be called with the final death probabilities
+#'        to give the user a way to modify the final probabilities
+#' @slot loading  Additional security loading on the resulting table (single numeric
+#'        value, e.g. 0.05 adds 5% security margin to the probabilities)
+#'
+#' @name valuationTable-class
+#' @rdname valuationTable-class
+#' @export valuationTable
+#' @exportClass valuationTable
 valuationTable=setClass(
   "valuationTable",
   slots=list(name="character", baseYear="numeric", loading="numeric", modification="function"),
@@ -10,67 +33,117 @@ valuationTable=setClass(
 );
 
 
-# A period life table, giving death probabilities for each age, up to
-# maximum age omega. Optionally apply selection factors to the probabilities
-valuationTable.period=setClass(
-  "valuationTable.period",
+#' A period life table, giving death probabilities for each age, up to
+#' maximum age omega. Optionally apply selection factors to the probabilities
+#'
+#' @slot ages       The ages corresponding to the entries of the deathProbs
+#' @slot deathProbs The one-year death probabilities for the ages
+#'
+#' @export valuationTable_period
+#' @exportClass valuationTable_period
+valuationTable_period=setClass(
+  "valuationTable_period",
   slots=list(ages="numeric", deathProbs="numeric"),
   prototype=list(ages=eval(0:120), deathProbs=rep(1,120)),
   contains="valuationTable"
 );
 
-# A cohort life table, obtained by age-shifting from a given base table (PODs
-# for a base YOB)
-valuationTable.ageShift=setClass(
-  "valuationTable.ageShift",
+
+#' A cohort life table, obtained by age-shifting from a given base table (death probabilities
+# for a base birth year)
+#'
+#' @slot ageShifts  A \code{data.frame} with columns \code{YOB} and \code{shifts} giving the age shifts for each birth year
+#'
+#' @export valuationTable_ageShift
+#' @exportClass valuationTable_ageShift
+valuationTable_ageShift=setClass(
+  "valuationTable_ageShift",
   slots=list(ageShifts="data.frame"),
   prototype=list(ageShifts=data.frame(YOB=c(), shifts=c())),
-  contains="valuationTable.period"
+  contains="valuationTable_period"
 );
 
-# A cohort life table, obtained by a trend projection from a given base table
-# (PODs for a given observation year). Typically, the trend is obtained by
-# the Lee-Carter method or some other trend estimation.
-# The dampingFunction can be used to modify the cumulative years (e.g. G(tau+x) instead of tau+x)
-# If trend2 is given, the G(tau+x) gives the weight of the first trend, 1-G(tau+x) the weight of the second trend
-valuationTable.trendProjection=setClass(
-  "valuationTable.trendProjection",
+#' A cohort life table, obtained by a trend projection from a given base table
+#' (PODs for a given observation year). Typically, the trend is obtained by
+#' the Lee-Carter method or some other trend estimation.
+#' The dampingFunction can be used to modify the cumulative years (e.g. G(tau+x) instead of tau+x)
+#' If trend2 is given, the G(tau+x) gives the weight of the first trend, 1-G(tau+x) the weight of the second trend
+#'
+#' @slot baseYear The base year of the trend projection (\code{baseTable} describes the death probabilities in this year)
+#' @slot trend    The yearly improvements of the log-death probabilities (per age)
+#' @slot dampingFunction A possible damping of the trend. This is a function \code{damping(delta_years)} that gets a vector of years from the baseYear and should return the dampened values.
+#' @slot trend2   The alternate trend. If given, the damping function interpolates between \code{trend} and \code{trend2}, otherwise the dumping function simply modifies the coefficients of \code{trend}.
+#'
+#' @export valuationTable_ageShift
+#' @exportClass valuationTable_ageShift
+valuationTable_trendProjection=setClass(
+  "valuationTable_trendProjection",
   slots=list(baseYear="numeric", trend="numeric", dampingFunction="function", trend2="numeric"),
   prototype=list(baseYear=1980, trend=rep(0,120), dampingFunction=identity, trend2=0),
-  contains="valuationTable.period"
+  contains="valuationTable_period"
 );
 
-# A cohort life table, obtained by an improvment factor projection
-# from a given base table (PODs for a given observation year).
-valuationTable.improvementFactors=setClass(
-  "valuationTable.improvementFactors",
+#' A cohort life table, obtained by an improvment factor projection
+#' from a given base table (PODs for a given observation year).
+#'
+#' @slot baseYear    The base year for the improvements (\code{baseTable} describes the death probabilities in this year)
+#' @slot improvement Yearly improvement factors per age
+#'
+#' @export valuationTable_improvementFactors
+#' @exportClass valuationTable_improvementFactors
+valuationTable_improvementFactors=setClass(
+  "valuationTable_improvementFactors",
   slots=list(baseYear="numeric", improvement="numeric"),
   prototype=list(baseYear=2012, improvement=rep(0,120)),
-  contains="valuationTable.period"
+  contains="valuationTable_period"
 );
 
-# A cohort life table described by actual observations (data frame of PODs
-# per year and age)
-valuationTable.observed=setClass(
-  "valuationTable.observed",
+#' A cohort life table described by actual observations (data frame of PODs
+#' per year and age)
+#'
+#' @slot data    The observations
+#'
+#' @export valuationTable_observed
+#' @exportClass valuationTable_observed
+valuationTable_observed=setClass(
+  "valuationTable_observed",
   slots=list(data="data.frame"),
   prototype=list(data=data.frame()),
   contains="valuationTable"
 );
 
-# A cohort life table obtained by joining two cohort life tables, each of which
-# applies only to certain observation years (e.g. for the past use the observed
-# PODs, and project them to the future with the trend projection)
-valuationTable.joined=setClass(
-  "valuationTable.joined",
+
+#' A cohort life table obtained by joining two cohort life tables, each of which
+#' applies only to certain observation years (e.g. for the past use the observed
+#' PODs, and project them to the future with the trend projection)
+#'
+#' @slot table1 The first \code{valuationTable}, valid for years given in \code{yearRange1}
+#' @slot yearRange1 The years, for which \code{table1} describes the death probabilities
+#' @slot table2 The second \code{valuationTable}, valid for years given in \code{yearRange2}
+#' @slot yearRange2 The years, for which \code{table2} describes the death probabilities
+#'
+#' @export valuationTable_joined
+#' @exportClass valuationTable_joined
+valuationTable_joined=setClass(
+  "valuationTable_joined",
   slots=list(
     table1="valuationTable", yearRange1="numeric",
     table2="valuationTable", yearRange2="numeric"),
   contains="valuationTable"
 );
-# A cohort life table obtained by mixing two life tables with the given weights
-valuationTable.mixed=setClass(
-  "valuationTable.mixed",
+
+#' A cohort life table obtained by mixing two life tables with the given weights
+#'
+#' @slot table1 The first \code{valuationTable}
+#' @slot table2 The second \code{valuationTable}
+#' @slot weight1 The weight of the first valuation table
+#' @slot weight2 The weight of the second valuation table
+#' @slot loading Additional security loading
+#'
+#' @export valuationTable_mixed
+#' @exportClass valuationTable_mixed
+valuationTable_mixed=setClass(
+  "valuationTable_mixed",
   slots=c(table1="valuationTable", table2="valuationTable", weight1="numeric", weight2="numeric", loading="numeric"),
   prototype=list(weight1=1/2, weight2=1/2, loading=0),
   contains="valuationTable"
@@ -78,43 +151,100 @@ valuationTable.mixed=setClass(
 
 
 
+#' Return the maximum age of the life table
+#'
+#' @name valuationTable
+#' @rdname valuationTable-class
+#' @exportMethod getOmega
 setGeneric("getOmega", function(object) standardGeneric("getOmega"));
-setMethod("getOmega", "valuationTable.period",
+#' Return the maximum age of the period life table
+#'
+#' @name valuationTable_period-class
+#' @rdname valuationTable_period-class
+#' @aliases getOmega,valuationTable_period-method
+setMethod("getOmega", "valuationTable_period",
           function (object) {
             max(object@ages,na.rm=TRUE);
           })
-setMethod("getOmega", "valuationTable.mixed",
+#' Return the maximum age of the mixed life table
+#'
+#' @name valuationTable_mixed-class
+#' @rdname valuationTable_mixed-class
+#' @aliases getOmega,valuationTable_mixed-method
+setMethod("getOmega", "valuationTable_mixed",
           function (object) {
             getOmega(object@table1);
           })
-setMethod("getOmega", "valuationTable.joined",
+#' Return the maximum age of the joined life table
+#'
+#' @name valuationTable_joined-class
+#' @rdname valuationTable_joined-class
+#' @aliases getOmega,valuationTable_joined-method
+setMethod("getOmega", "valuationTable_joined",
           function (object) {
             getOmega(object@table1);
           })
 
+
+#' Return the defined ages of the life table
+#'
+#' @name valuationTable
+#' @rdname valuationTable-class
+#' @exportMethod ages
 setGeneric("ages", function(object, ...) standardGeneric("ages"));
-setMethod("ages", "valuationTable.period",
+#' Return the defined ages of the life table
+#'
+#' @name valuationTable_period-class
+#' @rdname valuationTable_period-class
+#' @aliases ages,valuationTable_period-method
+setMethod("ages", "valuationTable_period",
           function (object, ...) {
             object@ages;
           })
-setMethod("ages", "valuationTable.mixed",
+#' Return the defined ages of the life table
+#'
+#' @name valuationTable_mixed-class
+#' @rdname valuationTable_mixed-class
+#' @aliases ages,valuationTable_mixed-method
+setMethod("ages", "valuationTable_mixed",
           function (object, ...) {
             ages(object@table1);
           })
-setMethod("ages", "valuationTable.joined",
+#' Return the defined ages of the life table
+#'
+#' @name valuationTable_joined-class
+#' @rdname valuationTable_joined-class
+#' @aliases ages,valuationTable_joined-method
+setMethod("ages", "valuationTable_joined",
           function (object, ...) {
             ages(object@table1);
           })
 
+
+
+#' Return the age shift of the age-shifted life table given the birth year
+#'
+#' @param YOB The birth year for which the age shift should be determined.
+#'
+#' @name valuationTable_ageShift
+#' @rdname valuationTable_ageShift-class
+#' @exportMethod ageShift
 setGeneric("ageShift", function(object, YOB=1975, ...) standardGeneric("ageShift"));
-setMethod("ageShift","valuationTable.ageShift",
+#' Return the age shift of the age-shifted life table given the birth year
+#'
+#' @param YOB The birth year for which the age shift should be determined.
+#'
+#' @name valuationTable_ageShift-class
+#' @rdname valuationTable_ageShift-class
+#' @aliases ageShift,valuationTable_ageShift-method
+setMethod("ageShift","valuationTable_ageShift",
           function(object, YOB, ...) {
             shift = object@ageShifts[toString(YOB),];
             if (is.na(shift)) {
               # The row names (YOB) are unfortunately strings, so we cannot easily query them.
               # TODO: Change the data.frame to use a real column for the YOB
-              firstYOB = head(rownames(object@ageShifts), n=1);
-              lastYOB = tail(rownames(object@ageShifts), n=1);
+              firstYOB = utils::head(rownames(object@ageShifts), n=1);
+              lastYOB = utils::tail(rownames(object@ageShifts), n=1);
               if (YOB < as.integer(firstYOB)) {
                 shift = object@ageShifts[firstYOB,];
               } else if (YOB > as.integer(lastYOB)) {
@@ -124,12 +254,35 @@ setMethod("ageShift","valuationTable.ageShift",
             shift
           })
 
+
+
+#' Return the (cohort) death probabilities of the life table given the birth year (if needed)
+#'
+#' @param YOB The birth year for which the death probabilities should be calculated
+#'
+#' @name valuationTable
+#' @rdname valuationTable-class
+#' @exportMethod deathProbabilities
 setGeneric("deathProbabilities", function(object, ..., YOB=1975) standardGeneric("deathProbabilities"));
-setMethod("deathProbabilities", "valuationTable.period",
+#' Return the (cohort) death probabilities of the life table given the birth year (if needed)
+#'
+#' @param YOB The birth year for which the death probabilities should be calculated
+#'
+#' @name valuationTable_period-class
+#' @rdname valuationTable_period-class
+#' @aliases deathProbabilities,valuationTable_period-method
+setMethod("deathProbabilities", "valuationTable_period",
           function(object, ..., YOB=1975) {
             object@modification(object@deathProbs * (1+object@loading));
           })
-setMethod("deathProbabilities","valuationTable.ageShift",
+#' Return the (cohort) death probabilities of the life table given the birth year (if needed)
+#'
+#' @param YOB The birth year for which the death probabilities should be calculated
+#'
+#' @name valuationTable_ageShift-class
+#' @rdname valuationTable_ageShift-class
+#' @aliases deathProbabilities,valuationTable_ageShift-method
+setMethod("deathProbabilities","valuationTable_ageShift",
           function (object,  ..., YOB=1975) {
             qx=object@deathProbs * (1+object@loading);
             shift = ageShift(object, YOB);
@@ -141,8 +294,14 @@ setMethod("deathProbabilities","valuationTable.ageShift",
             object@modification(qx)
           })
 
-
-setMethod("deathProbabilities","valuationTable.trendProjection",
+#' Return the (cohort) death probabilities of the life table given the birth year (if needed)
+#'
+#' @param YOB The birth year for which the death probabilities should be calculated
+#'
+#' @name valuationTable_trendProjection-class
+#' @rdname valuationTable_trendProjection-class
+#' @aliases deathProbabilities,valuationTable_trendProjection-method
+setMethod("deathProbabilities","valuationTable_trendProjection",
           function (object,  ..., YOB=1975) {
             qx=object@deathProbs * (1+object@loading);
             if (is.null(object@trend2) || length(object@trend2)<=1) {
@@ -158,13 +317,27 @@ setMethod("deathProbabilities","valuationTable.trendProjection",
             object@modification(finalqx)
           })
 
-setMethod("deathProbabilities","valuationTable.improvementFactors",
+#' Return the (cohort) death probabilities of the life table given the birth year (if needed)
+#'
+#' @param YOB The birth year for which the death probabilities should be calculated
+#'
+#' @name valuationTable_improvementFactors-class
+#' @rdname valuationTable_improvementFactors-class
+#' @aliases deathProbabilities,valuationTable_improvementFactors-method
+setMethod("deathProbabilities","valuationTable_improvementFactors",
           function (object,  ..., YOB=1975) {
             qx=object@deathProbs * (1+object@loading);
             finalqx=(1-object@improvement)^(YOB+0:(length(qx)-1)-object@baseYear)*qx;
             object@modification(finalqx)
           })
-setMethod("deathProbabilities","valuationTable.mixed",
+#' Return the (cohort) death probabilities of the life table given the birth year (if needed)
+#'
+#' @param YOB The birth year for which the death probabilities should be calculated
+#'
+#' @name valuationTable_mixed-class
+#' @rdname valuationTable_mixed-class
+#' @aliases deathProbabilities,valuationTable_mixed-method
+setMethod("deathProbabilities","valuationTable_mixed",
           function (object,  ..., YOB=1975) {
             qx1=deathProbabilities(object@table1, ..., YOB) * (1+object@loading);
             qx2=deathProbabilities(object@table2, ..., YOB) * (1+object@loading);
@@ -173,21 +346,51 @@ setMethod("deathProbabilities","valuationTable.mixed",
           })
 
 
+
+
+#' Return the (period) death probabilities of the life table for a given observation year
+#'
+#' @param Period  The observation year for which the period death probabilities should be determined
+#'
+#' @name valuationTable
+#' @rdname valuationTable-class
+#' @exportMethod periodDeathProbabilities
 setGeneric("periodDeathProbabilities", function(object, ...) standardGeneric("periodDeathProbabilities"));
-setMethod("periodDeathProbabilities", "valuationTable.period",
+#' Return the (period) death probabilities of the life table for a given observation year
+#'
+#' @param Period  The observation year for which the period death probabilities should be determined
+#'
+#' @name valuationTable_period-class
+#' @rdname valuationTable_period-class
+#' @aliases periodDeathProbabilities,valuationTable_period-method
+setMethod("periodDeathProbabilities", "valuationTable_period",
           function(object, ...) {
             object@modification(object@deathProbs * (1+object@loading));
           })
-setMethod("periodDeathProbabilities","valuationTable.ageShift",
+#' Return the (period) death probabilities of the life table for a given observation year
+#'
+#' @param Period  The observation year for which the period death probabilities should be determined
+#'
+#' @name valuationTable_ageShift-class
+#' @rdname valuationTable_ageShift-class
+#' @aliases periodDeathProbabilities,valuationTable_ageShift-method
+setMethod("periodDeathProbabilities","valuationTable_ageShift",
           function (object,  ..., Period=1975) {
             # TODO
             qx=object@deathProbs * (1+object@loading);
-            shift.index=match(YOB, object@shifts, 0);
-            if (shift.index) {}
-            #             TODO
+            # TODO!!!
+            # shift.index=match(YOB, object@shifts, 0);
+            # if (shift.index) {}
             object@modification(qx)
           })
-setMethod("periodDeathProbabilities","valuationTable.trendProjection",
+#' Return the (period) death probabilities of the life table for a given observation year
+#'
+#' @param Period  The observation year for which the period death probabilities should be determined
+#'
+#' @name valuationTable_trendProjection-class
+#' @rdname valuationTable_trendProjection-class
+#' @aliases periodDeathProbabilities,valuationTable_trendProjection-method
+setMethod("periodDeathProbabilities","valuationTable_trendProjection",
           function (object,  ..., Period=1975) {
             qx=object@deathProbs * (1+object@loading);
             if (is.null(object@trend2) || length(object@trend2)<=1) {
@@ -196,21 +399,34 @@ setMethod("periodDeathProbabilities","valuationTable.trendProjection",
               # print(data.frame(age=0:(length(qx)-1), trend=object@trend, exponent=-object@trend*damping, damping=damping, baseqx=qx, qx=exp(-object@trend*damping)*qx)[66:90,]);
               finalqx=exp(-object@trend*damping)*qx;
             } else {
-              # TODO
+              # TODO!!!
               # dampingFunction interpolates between the two trends:
-              weights=sapply(YOB+0:(length(qx)-1), object@dampingFunction);
-              finalqx=qx*exp(-(object@trend*(1-weights) + object@trend2*(weights))*(YOB+0:(length(qx)-1)-object@baseYear));
+              # weights=sapply(YOB+0:(length(qx)-1), object@dampingFunction);
+              # finalqx=qx*exp(-(object@trend*(1-weights) + object@trend2*(weights))*(YOB+0:(length(qx)-1)-object@baseYear));
             }
             object@modification(finalqx)
           })
-# data.frame(x=0:121, qx=deathProbabilities(AVOe2005R.unisex, YOB=1948));
-setMethod("periodDeathProbabilities","valuationTable.improvementFactors",
+#' Return the (period) death probabilities of the life table for a given observation year
+#'
+#' @param Period  The observation year for which the period death probabilities should be determined
+#'
+#' @name valuationTable_improvementFactors-class
+#' @rdname valuationTable_improvementFactors-class
+#' @aliases periodDeathProbabilities,valuationTable_improvementFactors-method
+setMethod("periodDeathProbabilities","valuationTable_improvementFactors",
           function (object, ..., Period=1975) {
             qx=object@deathProbs * (1+object@loading);
             finalqx=(1-object@improvement)^(Period-object@baseYear)*qx;
             object@modification(finalqx)
           })
-setMethod("periodDeathProbabilities","valuationTable.mixed",
+#' Return the (period) death probabilities of the life table for a given observation year
+#'
+#' @param Period  The observation year for which the period death probabilities should be determined
+#'
+#' @name valuationTable_mixed-class
+#' @rdname valuationTable_mixed-class
+#' @aliases periodDeathProbabilities,valuationTable_mixed-method
+setMethod("periodDeathProbabilities","valuationTable_mixed",
           function (object,  ..., Period=1975) {
             qx1=periodDeathProbabilities(object@table1, ..., Period=Period) * (1+object@loading);
             qx2=periodDeathProbabilities(object@table2, ..., Period=Period) * (1+object@loading);
@@ -221,40 +437,104 @@ setMethod("periodDeathProbabilities","valuationTable.mixed",
 
 
 
+#' Return the lifetable object (package lifecontingencies) for the cohort life table
+#'
+#' @param ... Parameters to be handed to the \code{deathProbabilities} method of the life table
+#'
+#' @name valuationTable
+#' @rdname valuationTable-class
+#' @exportMethod lifeTable
 setGeneric("lifeTable", function(object, ...) standardGeneric("lifeTable"));
+#' Return the lifetable object (package lifecontingencies) for the cohort life table
+#'
+#' @param ... Parameters to be handed to the \code{deathProbabilities} method of the life table
+#'
+#' @name valuationTable-class
+#' @rdname valuationTable-class
+#' @aliases lifeTable,valuationTable-method
 setMethod("lifeTable","valuationTable",
           function (object,  ...) {
             qx=deathProbabilities(object, ...);
             if (qx[[length(qx)]]!=1) { qx=c(qx, 1, 1); }
-            probs2lifetable(qx, type="qx")
+            lifecontingencies::probs2lifetable(qx, type="qx")
           })
 
 
+
+
+#' Return the base year of the life table
+#'
+#' @name valuationTable
+#' @rdname valuationTable-class
+#' @exportMethod baseYear
 setGeneric("baseYear", function(object, ...) standardGeneric("baseYear"));
+#' Return the base year of the life table
+#'
+#' @name valuationTable-class
+#' @rdname valuationTable-class
+#' @aliases baseYear,valuationTable-method
 setMethod("baseYear","valuationTable",
           function (object,  ...) {
             object@baseYear
           })
-setMethod("baseYear","valuationTable.mixed",
+#' Return the base year of the life table
+#'
+#' @name valuationTable_mixed-class
+#' @rdname valuationTable_mixed-class
+#' @aliases baseYear,valuationTable_mixed-method
+setMethod("baseYear","valuationTable_mixed",
           function (object,  ...) {
             baseYear(object@table1)
           })
 
+
+
+#' Return the base table of the life table
+#'
+#' @name valuationTable
+#' @rdname valuationTable-class
+#' @exportMethod baseTable
 setGeneric("baseTable", function(object, ...) standardGeneric("baseTable"));
+#' Return the base table of the life table
+#'
+#' @name valuationTable-class
+#' @rdname valuationTable-class
+#' @aliases baseTable,valuationTable-method
 setMethod("baseTable","valuationTable",
           function (object,  ...) {
             c()
           })
-setMethod("baseTable","valuationTable.period",
+#' Return the base table of the life table
+#'
+#' @name valuationTable_period-class
+#' @rdname valuationTable_period-class
+#' @aliases baseTable,valuationTable_period-method
+setMethod("baseTable","valuationTable_period",
           function (object,  ...) {
             object@deathProbs
           })
 
 
+
+
+#' Return the period life table as a \code{valuationTable_period} object
+#'
+#' @param Period The observation year, for which the death probabilities should be determined
+#'
+#' @name valuationTable
+#' @rdname valuationTable-class
+#' @exportMethod getPeriodTable
 setGeneric("getPeriodTable", function(object, Period, ...) standardGeneric("getPeriodTable"));
+#' Return the period life table as a \code{valuationTable_period} object
+#'
+#' @param Period The observation year, for which the death probabilities should be determined
+#'
+#' @name valuationTable-class
+#' @rdname valuationTable-class
+#' @aliases getPeriodTable,valuationTable-method
 setMethod("getPeriodTable","valuationTable",
           function (object, Period, ...) {
-            valuationTable.period(
+            valuationTable_period(
                 name = paste(object@name, ", Period ", Period),
                 baseYear = Period,
                 ages = ages(object),
@@ -262,10 +542,27 @@ setMethod("getPeriodTable","valuationTable",
             )
           })
 
-setGeneric("getCohortTable", function(object, Period, ...) standardGeneric("getCohortTable"));
+
+
+#' Return the cohort life table as a \code{valuationTable_period} object
+#'
+#' @param YOB The birth year for which the life table should be calculated
+#'
+#' @name valuationTable
+#' @rdname valuationTable-class
+#' @exportMethod getCohortTable
+setGeneric("getCohortTable", function(object, YOB, ...) standardGeneric("getCohortTable"));
+#' Return the cohort life table as a \code{valuationTable_period} object
+#'
+#' @param YOB The birth year for which the life table should be calculated
+#'
+#' @name valuationTable-class
+#' @rdname valuationTable-class
+#' @aliases getCohortTable,valuationTable-method
+#' @export getCohortTable
 setMethod("getCohortTable","valuationTable",
           function (object, YOB, ...) {
-            valuationTable.period(
+            valuationTable_period(
                 name = paste(object@name, ", YOB ", YOB),
                 baseYear = YOB,
                 ages=ages(object),
@@ -274,73 +571,22 @@ setMethod("getCohortTable","valuationTable",
           })
 
 
+
+
+#' Return a \code{valuationTable_trensProjection} object with the trend damping removed.
+#'
+#' @name valuationTable_trendProjection
+#' @rdname valuationTable_trendProjection-class
+#' @exportMethod undampenTrend
 setGeneric("undampenTrend", function (object) standardGeneric("undampenTrend"));
-setMethod("undampenTrend", "valuationTable.trendProjection",
+#' Return a \code{valuationTable_trensProjection} object with the trend damping removed.
+#'
+#' @name valuationTable_trendProjection-class
+#' @rdname valuationTable_trendProjection-class
+#' @aliases undampenTrend,valuationTable_trendProjection-method
+#' @export undampenTrend
+setMethod("undampenTrend", "valuationTable_trendProjection",
           function (object) {
             object@dampingFunction=identity;
             object
             });
-
-
-makeQxDataFrame = function(..., YOB=1972, Period=NA) {
-  data=list(...);
-  names(data) = lapply(data, function(t) t@name);
-  if (missing(Period)) {
-    cat("Year of birth: ", YOB, "\n");
-    data = lapply(data, function(t) cbind(x=ages(t), y=deathProbabilities(t, YOB=YOB)))
-  } else {
-    cat("Period: ", Period,"\n");
-    data = lapply(data, function(t) cbind(x=ages(t), y=periodDeathProbabilities(t, Period=Period)))
-  }
-
-  list.names = names(data)
-  lns <- sapply(data, nrow)
-  data <- as.data.frame(do.call("rbind", data))
-  data$group <- rep(list.names, lns)
-  data
-}
-
-plotValuationTables = function(data, ..., title = "", legend.position=c(0.9,0.1), legend.key.width = unit(25, "mm")) {
-  if (!is.data.frame(data)) {
-    data = makeQxDataFrame(data, ...);
-  }
-
-  pl = ggplot(data, aes(x = x, y = y, colour = data$group)) +
-    theme_bw() +
-    theme(
-      plot.title = element_text(size=18, face="bold"),
-      legend.title = element_text(size=14, face="bold.italic"),
-      # legend in bottom right corner of the plot
-      legend.justification=c(1,0), legend.position=legend.position,
-      # No box around legend entries
-      legend.key = element_blank(),
-      legend.key.width = legend.key.width,
-      legend.background = element_rect(colour="gray50", linetype="solid")
-    ) +
-    geom_line() +
-    scale_y_log10(
-      name=expression(paste("Sterbewahrscheinlichkeit  ", q[x])),
-      breaks = scales::trans_breaks('log10', function(x) 10^x),
-      labels = scales::trans_format('log10', scales::math_format(10^.x))
-      #minor_breaks = log(c(sapply(x, function(x) seq(0, x, x/10))), 10)
-    ) +
-    scale_x_continuous(
-      name="Alter",
-      #breaks = function (limits) scales::trans_breaks('', function(x) 10^x),
-      breaks = function (limits) seq(max(min(limits),0),max(limits),5),
-      minor_breaks = function (limits) seq(max(round(min(limits)),0),round(max(limits)),1),
-      #labels = scales::trans_format('log10', scales::math_format(10^.x))
-
-    ) +
-    annotation_logticks(sides="lr") +
-    xlab("Alter") + labs(colour="Sterbetafel");
-  if (title != "") {
-    pl = pl + ggtitle(title);
-  }
-  pl# + coord_flip()
-}
-#
-# plotValuationTables(mort.AT.census.1869.male, mort.AT.census.1869.female, mort.AT.census.2011.male, mort.AT.census.2011.female, AVOe2005R.male, AVOe2005R.female, YOB=1972,title="Vergleich österreichische Sterbetafeln, YOB=1972 (bei Generationentafeln)")
-#
-# plotValuationTables(mort.AT.census.2001.male, AVOe2005R.male, YOB=1972, title="Vergleich österreichische Sterbetafeln")
-#  plotValuationTables(getCohortTable(AVOe2005R.male, YOB=1972), getCohortTable(AVOe2005R.male, YOB=2016), title="Vergleich österreichische Sterbetafeln")
diff --git a/R/exportInsuranceContract_xlsx.R b/R/exportInsuranceContract_xlsx.R
deleted file mode 100644
index bcf8b67..0000000
--- a/R/exportInsuranceContract_xlsx.R
+++ /dev/null
@@ -1,409 +0,0 @@
-
-################################################
-# Helper Functions
-################################################
-
-
-writeAgeQTable = function (wb, sheet, probs, crow=1, ccol=1, styles=list()) {
-  writeData(wb, sheet, "Sterblichkeiten", startCol = ccol+2, startRow = crow);
-  addStyle(wb, sheet, style=styles$header, rows=crow, cols = ccol+2, stack=TRUE);
-  mergeCells(wb, sheet, rows=crow, cols=(ccol+2):(ccol+3))
-  writeDataTable(wb, sheet, probs,
-                 startRow=crow+1, startCol = ccol, colNames = TRUE, rowNames = TRUE,
-                 tableStyle = "TableStyleMedium3", withFilter = FALSE, headerStyle = styles$tableHeader);
-  freezePane(wb, sheet, firstActiveRow=crow+2, firstActiveCol = ccol+2)
-  addStyle(wb, sheet, style=styles$center, rows=(crow+2):(crow+1+dim(probs)[[1]]), cols=ccol:(ccol+1), gridExpand = TRUE, stack=TRUE);
-  addStyle(wb, sheet, style=styles$qx, rows=(crow+2):(crow+1+dim(probs)[[1]]), cols=(ccol+2):(ccol+3), gridExpand = TRUE, stack=TRUE);
-  dim(probs)[[2]] + 2;
-};
-
-writeValuesTable = function (wb, sheet, values, caption=NULL, crow=1, ccol=1, rowNames=FALSE, tableStyle="TableStyleMedium3", tableName=NULL, withFilter=FALSE, styles=list(), valueStyle=NULL) {
-  nrrow = dim(values)[[1]];
-  nrcol = dim(values)[[2]];
-  addcol = if (rowNames) 1 else 0;
-  ecol = ccol + addcol + nrcol - 1;
-  if (!missing(caption)) {
-    writeData(wb, sheet, caption, startCol = ccol+addcol, startRow = crow);
-    addStyle(wb, sheet, style=styles$header, rows=crow, cols = ccol+addcol, stack=TRUE);
-    mergeCells(wb, sheet, rows=crow, cols=(ccol+addcol):ecol);
-  }
-
-  writeDataTable(wb, sheet, values, startRow=crow+1, startCol=ccol, colNames=TRUE,
-                 rowNames=rowNames, tableStyle=tableStyle,
-                 tableName=tableName, withFilter = withFilter, headerStyle = styles$tableHeader)
-  if (!missing(valueStyle)) {
-    addStyle(wb, sheet, style=valueStyle, rows=(crow+2):(crow+nrrow+1), cols=(ccol+addcol):ecol, gridExpand = TRUE, stack = TRUE);
-  }
-  # width of table is the return value
-  nrcol + addcol
-};
-
-writePremiumCoefficients = function(wb, sheet, values, tarif=NULL, type="benefits", crow=crow, ccol=ccol) {
-  writeData(wb, sheet, matrix(c(
-    "Nettoprämie", "", "Zillmerprämie", "", "Bruttoprämie", "",
-    "rel. zu VS", "rel. zu Prämie", "rel. zu VS", "rel. zu Prämie", "rel. zu VS", "rel. zu Prämie"), 6, 2
-  ), startCol = ccol, startRow = crow, colNames = FALSE, borders = "rows", borderColour = "gray5", borderStyle = "thin");
-  mergeCells(wb, sheet, cols = ccol, rows = crow:(crow+1));
-  mergeCells(wb, sheet, cols = ccol, rows = (crow+2):(crow+3));
-  mergeCells(wb, sheet, cols = ccol, rows = (crow+4):(crow+5));
-  addStyle(wb, sheet, style=createStyle(halign = "left", valign = "center",
-                                        borderColour = "gray5", border = "LeftBottomTop",
-                                        borderStyle = "thin"),
-           rows = crow:(crow+5), cols = ccol);
-  addStyle(wb, sheet, style=createStyle(halign = "right", valign = "center",
-                                        borderColour = "gray5", border = "RightBottomTop",
-                                        borderStyle = "thin"),
-           rows = crow:(crow+5), cols = ccol+1);
-
-  # The first column of the benefits coefficients is for "age", which we want to remove
-  mod = function(a) { as.data.frame(t(a)) };
-  if (type=="costs") {
-    mod = function(vals) {
-      vals = setInsuranceValuesLabels(vals);
-      newvals=vals;
-      dimn = dimnames(newvals);
-      dim(newvals) = c(1, dim(vals));
-      dimnames(newvals) = c(list("Coeff"), dimn);
-      as.data.frame(tarif$costValuesAsMatrix(newvals))
-    };
-  }
-  coeff = rbind(mod(values[["net"]][["SumInsured"]][[type]]),
-                mod(values[["net"]][["Premium"]][[type]]),
-                mod(values[["Zillmer"]][["SumInsured"]][[type]]),
-                mod(values[["Zillmer"]][["Premium"]][[type]]),
-                mod(values[["gross"]][["SumInsured"]][[type]]),
-                mod(values[["gross"]][["Premium"]][[type]]));
-
-  writeData(wb, sheet, coeff, startCol = ccol+2, startRow = crow, colNames=FALSE, borders="rows", borderColour="gray5", borderStyle="thin");
-  dim(coeff)[[2]]
-}
-
-labelsReplace = function(labels) {
-  labels[labels=="alpha"] = "α";
-  labels[labels=="Zillmer"] = "Zill.";
-  labels[labels=="beta"] = "β";
-  labels[labels=="gamma"] = "γ";
-  labels[labels=="gamma_nopremiums"] = "γ_prf";
-  labels[labels=="SumInsured"] = "VS";
-  labels[labels=="SumPremiums"] = "PS";
-  labels[labels=="GrossPremium"] = "BP";
-
-  labels[labels=="premiums"] = "Präm.";
-  labels[labels=="guaranteed"] = "Gar.";
-  labels[labels=="survival"] = "Erl.";
-  labels[labels=="death_SumInsured"] = "Abl. VS";
-  labels[labels=="death_GrossPremium"] = "Abl. BP";
-  labels[labels=="death"] = "Abl.";
-  labels[labels=="death_PremiumFree"] = "Abl. prf";
-  labels[labels=="benefits"] = "Abl.Lst.";
-  labels[labels=="benefitsAndRefund"] = "Abl. + RG";
-
-  labels[labels=="once"] = "einm."
-  labels[labels=="PremiumPeriod"] = "PD"
-  labels[labels=="PremiumFree"] = "Pr.Fr."
-  labels[labels=="PolicyPeriod"] = "LZ"
-
-
-  labels
-}
-
-setInsuranceValuesLabels = function(vals) {
-  dimnames(vals) = lapply(dimnames(vals), labelsReplace);
-  vals
-}
-
-
-################################################################################
-#
-# The actual export function
-#
-#    exportInsuranceContract.xlsx(contract, filename)
-#
-################################################################################
-
-
-exportInsuranceContract.xlsx = function(contract, filename) {
-  # TODO: argument checking for contract and filename
-
-  ###
-  nrrows = dim(contract$values$cashFlows)[[1]]; # Some vectors are longer (e.g. qx), so determine the max nr or rows
-  qp = contract$values$transitionProbabilities[1:nrrows,]; # extract the probabilities once, will be needed in every sheet
-
-  ################################################
-  # Style information
-  ################################################
-  styles = list(
-    header = createStyle(border="TopBottomLeftRight", borderColour="#DA9694", borderStyle="medium",
-                         fgFill="#C0504D", fontColour="#FFFFFF",
-                         halign="center", valign="center", textDecoration="bold"),
-    tableHeader = createStyle(#border="TopLeftRight", borderColour="#DA9694", borderStyle="medium",
-                              #bgFill="#C0504D", fontColour="#FFFFFF",
-                              halign="center", valign="center", textDecoration="bold"),
-    hide0 = createStyle(numFmt="General; General; \"\""),
-    currency0 = createStyle(numFmt="[$€-C07] #,##0.00;[red]-[$€-C07] #,##0.00;\"\""),
-    cost0 = createStyle(numFmt="0.000%; 0.000%; \"\""),
-    pv0 = createStyle(numFmt="0.00000;-0.00000;\"\""),
-    qx = createStyle(numFmt="0.000000"),
-    wrap = createStyle(wrapText=TRUE),
-    center = createStyle(halign="center", valign="center")
-  );
-
-  ################################################
-  # General Workbook setup
-  ################################################
-  wb = openxlsx::createWorkbook();
-  addWorksheet(wb, "Tarifinformationen");
-  addWorksheet(wb, "Basisdaten");
-  addWorksheet(wb, "Reserven");
-  addWorksheet(wb, "abs.Barwerte");
-  addWorksheet(wb, "abs.Cash-Flows");
-  addWorksheet(wb, "Barwerte");
-  addWorksheet(wb, "Cash-Flows");
-
-  # Print out general Contract and Tariff information, including results
-  sheet = "Tarifinformationen"
-  crow = 1;
-  writeData(wb, sheet, matrix(c(
-    "Tarif:", contract$tarif$tarif,
-    "Tarifname:", contract$tarif$name,
-    "Description:", contract$tarif$desc
-  ), 3, 2, byrow = TRUE), startCol=1, startRow=1, colNames=FALSE, rowNames=FALSE);
-  mergeCells(wb, sheet, cols=2:10, rows=1);
-  mergeCells(wb, sheet, cols=2:10, rows=2);
-  mergeCells(wb, sheet, cols=2:10, rows=3);
-  addStyle(wb, sheet, style=styles$wrap, rows=3, cols=2:10, stack=TRUE);
-  addStyle(wb, sheet, style=createStyle(valign="top"), rows=1:3, cols=1:10, gridExpand=TRUE, stack=TRUE);
-  setColWidths(wb, sheet, cols = 1:50, widths = "auto", ignoreMergedCells = TRUE);
-
-  crow = crow+4;
-
-  ################################################
-  # Basic parameters
-  ################################################
-  values=c(
-    "Sum insured"=contract$params$sumInsured,
-    "Mortality table"=contract$tarif$mortalityTable@name,
-    "YOB"=contract$params$YOB,
-    "Age"=contract$params$age,
-    "Policy duration"=contract$params$policyPeriod,
-    "Premium period"=contract$params$premiumPeriod,
-    "Deferral"=contract$params$deferral,
-    "Guaranteed payments"=contract$params$guaranteed,
-    i=contract$tarif$i);
-
-  writeData(wb, sheet, "Basisdaten des Vertrags und Tarifs", startCol=1, startRow=crow);
-  mergeCells(wb, sheet, cols=1:length(values), rows=crow:crow);
-  writeDataTable(wb, sheet, as.data.frame(t(values)),
-                 startCol=1, startRow=crow+1, colNames=TRUE, rowNames=FALSE,
-                 tableStyle="TableStyleMedium3", withFilter = FALSE, headerStyle = styles$tableHeader);
-
-  crow = crow + 4;
-
-  # Premiums
-  writeData(wb, sheet, "Prämien", startCol=1, startRow=crow);
-  mergeCells(wb, sheet, cols=1:length(contract$values$premiums), rows=crow:crow);
-  writeDataTable(wb, sheet, setInsuranceValuesLabels(as.data.frame(t(contract$values$premiums))),
-                 startCol=1, startRow=crow+1, colNames=TRUE, rowNames=FALSE,
-                 tableStyle="TableStyleMedium3", withFilter = FALSE, headerStyle = styles$tableHeader);
-  crow = crow + 4;
-
-  # Cost structure:
-  costtable = as.data.frame.table(setInsuranceValuesLabels(contract$tarif$costs) )
-  colnames(costtable) = c("Kostenart", "Basis", "Periode", "Kostensatz");
-  costtable = costtable[costtable[,"Kostensatz"]!=0.0000,]
-  writeValuesTable(wb, sheet, costtable, crow=crow, ccol=1, tableName="Kosten", styles=styles, caption="Kosten");
-  # writeDataTable(wb, sheet, costtable, startCol=1, startRow=crow+1, colNames=TRUE, rowNames=FALSE,
-                 # tableStyle = "TableStyleMedium3", headerStyle = styles$tableHeader);
-  addStyle(wb, sheet, style=styles$cost0, rows=(crow+2):(crow+dim(costtable)[[1]]+1), cols=4, stack=TRUE);
-  setColWidths(wb, sheet, cols = 1:50, widths = "auto", ignoreMergedCells = TRUE)
-  crow = crow + dim(costtable)[[1]] + 3;
-
-  # Contract history
-  # time=t, comment=sprintf("Premium waiver at time %d", t), type="PremiumWaiver"
-  histtime = unlist(lapply(contract$history, function(xl) xl$time));
-  histcomment = unlist(lapply(contract$history, function(xl) xl$comment));
-  histtype = unlist(lapply(contract$history, function(xl) xl$type));
-  writeValuesTable(wb, sheet, data.frame(time=histtime, Comment=histcomment, Type=histtype),
-                   crow=crow, ccol=1, tableName="Vertragshistorie", styles=styles,
-                   caption="Vertragshistorie");
-  crow = crow + dim(histtime)[[1]] + 3;
-
-
-
-  ################################################
-  # Print out Basic contract data as time series
-  ################################################
-
-  # Age, death and survival probabilities
-  ccol = 1;
-  crow = 4;
-  sheet = "Basisdaten";
-  tbl = qp[,"age", drop=FALSE];
-  writeDataTable(wb, sheet, tbl,
-                 startRow=crow+1, startCol = ccol, colNames = TRUE, rowNames = TRUE,
-                 tableStyle = "TableStyleMedium3", withFilter = FALSE, headerStyle = styles$tableHeader);
-  freezePane(wb, sheet, firstActiveRow=crow+2, firstActiveCol = ccol+2)
-  addStyle(wb, sheet, style=styles$center, rows=(crow+2):(crow+1+dim(tbl)[[1]]), cols=ccol:(ccol+1), gridExpand = TRUE, stack=TRUE);
-  ccol = ccol + dim(tbl)[[2]] + 2;
-
-  ccol = ccol + writeValuesTable(wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$values$basicData)),
-                                 crow=crow, ccol=ccol, tableName="Grunddaten", styles=styles,
-                                 caption="Vertragsgrunddaten im Zeitverlauf", valueStyle=styles$currency0) + 1;
-  setColWidths(wb, sheet, cols = 1:50, widths = "auto", ignoreMergedCells = TRUE)
-
-  # TODO: Change PremiumPayment column to 0=prf. / 1=prpfl. / -1=außerplanm.prf.
-  # TODO: Change InterestRate column to percent format
-
-
-
-  ################################################
-  # Print out Reserves and premium decomposition
-  ################################################
-
-  # Age, death and survival probabilities
-  ccol = 1;
-  crow = 4;
-  sheet = "Reserven";
-
-  ccol = ccol + writeAgeQTable(wb, sheet, probs=qp, crow=crow, ccol=1, styles=styles);
-  ccol = ccol + writeValuesTable(wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$values$reserves)),
-                                 crow=crow, ccol=ccol, tableName="Reserves", styles=styles,
-                                 caption="Reserven", valueStyle=styles$currency0) + 1;
-  ccol = ccol + writeValuesTable(wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$values$premiumComposition)),
-                                 crow=crow, ccol=ccol, tableName="Premium_Decomposition", styles=styles,
-                                 caption = "Prämienzerlegung", valueStyle=styles$currency0) + 1;
-  setColWidths(wb, sheet, cols = 1:50, widths = "auto", ignoreMergedCells = TRUE)
-
-
-  ################################################
-  # Print out absolute values of present values
-  ################################################
-
-  # Age, death and survival probabilities
-  ccol = 1;
-  crow = 4;
-  sheet = "abs.Barwerte";
-  ccol = ccol + writeAgeQTable(wb, sheet, probs=qp, crow=crow, ccol=1, styles=styles);
-
-  ccol = ccol + writeValuesTable(wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$values$absPresentValues)),
-                                 crow=crow, ccol=ccol, tableName="PresentValues_absolute", styles=styles,
-                                 caption = "abs. Leistungs- und Kostenbarwerte", valueStyle=styles$currency0) + 1;
-  setColWidths(wb, sheet, cols = 1:50, widths = "auto", ignoreMergedCells = TRUE)
-
-
-  ################################################
-  # Print out absolute values for cash flows
-  ################################################
-
-  # Age, death and survival probabilities
-  ccol = 1;
-  crow = 4;
-  sheet = "abs.Cash-Flows";
-  ccol = ccol + writeAgeQTable(wb, sheet, probs=qp, crow=crow, ccol=1, styles=styles);
-  ccol = ccol + writeValuesTable(wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$values$absCashFlows)),
-                                 crow=crow, ccol=ccol, tableName="CashFlows_absolute", styles=styles,
-                                 caption="abs. Leistungs- und Kostencashflows", withFilter=TRUE, valueStyle=styles$currency0) + 1;
-  setColWidths(wb, sheet, cols = 1:50, widths = "auto", ignoreMergedCells = TRUE)
-
-
-  ################################################
-  # Print out present values
-  ################################################
-
-  # Age, death and survival probabilities
-  costPV = as.data.frame(contract$tarif$costValuesAsMatrix(setInsuranceValuesLabels(contract$values$presentValuesCosts)));
-  ccol = 1;
-  crow = 4;
-  sheet = "Barwerte";
-  # We add six lines before the present values to show the coefficients for the premium calculation
-  ccol = ccol + writeAgeQTable(wb, sheet, probs=qp, crow=crow+6, ccol=1, styles=styles);
-
-  # Store the start/end columns of the coefficients, since we need them later in the formula for the premiums!
-  w1 = writePremiumCoefficients(wb, sheet, contract$values$premiumCoefficients, type="benefits", crow=crow, ccol=ccol-2, tarif=contract$tarif);
-  area.premiumcoeff = paste0(int2col(ccol), "%d:", int2col(ccol+w1-1), "%d");
-  area.premiumvals  = paste0("$", int2col(ccol), "$", crow+6+2, ":$", int2col(ccol+w1-1), "$", crow+6+2);
-  ccol = ccol + writeValuesTable(wb, sheet, as.data.frame(setInsuranceValuesLabels(contract$values$presentValues)),
-                                 crow=crow+6, ccol=ccol, tableName="PresentValues_Benefits", styles=styles,
-                                 caption = "Leistungsbarwerte", valueStyle=styles$pv0) + 1;
-
-  w2 = writePremiumCoefficients(wb, sheet, contract$values$premiumCoefficients, type="costs", crow=crow, ccol=ccol-2, tarif=contract$tarif);
-  area.costcoeff = paste0(int2col(ccol), "%d:", int2col(ccol+w2-1), "%d");
-  area.costvals  = paste0("$", int2col(ccol), "$", crow+6+2, ":$", int2col(ccol+w2-1), "$", crow+6+2);
-  ccol = ccol + writeValuesTable(wb, sheet, as.data.frame(costPV),
-                                 crow=crow+6, ccol=ccol, tableName="PresentValues_Costs", styles=styles,
-                                 caption = "Kostenbarwerte", valueStyle=styles$cost0) + 1;
-
-  # Now print out the formulas for premium calculation into the columns 2 and 3:
-  writeData(wb, sheet, as.data.frame(c("Nettoprämie", contract$values$premiums[["net"]],"Zillmerprämie", contract$values$premiums[["Zillmer"]], "Bruttoprämie", contract$values$premiums[["gross"]])), startCol = 1, startRow=crow, colNames = FALSE, borders = "rows");
-  for (i in 0:5) {
-    writeFormula(wb, sheet, paste0("SUMPRODUCT(", sprintf(area.premiumcoeff, crow+i, crow+i), ", ", area.premiumvals, ") + SUMPRODUCT(", sprintf(area.costcoeff, crow+i, crow+i), ", ", area.costvals, ")"), startCol = 3, startRow = crow+i);
-    addStyle(wb, sheet, style=styles$pv0, rows = crow+i, cols = 3, stack = TRUE);
-  }
-  for (i in c(0,2,4)) {
-    writeFormula(wb, sheet, paste0(int2col(3), crow+i, "/", int2col(3), crow+i+1), startCol=2, startRow = crow+i);
-    addStyle(wb, sheet, style=styles$pv0, rows = crow+i, cols = 2, stack = TRUE);
-  }
-  for (i in c(1,3,5)) {
-    writeFormula(wb, sheet, paste0(int2col(2), crow+i-1, "*", contract$params$sumInsured), startCol=2, startRow = crow+i);
-    addStyle(wb, sheet, style=styles$currency0, rows = crow+i, cols = 1:2, stack = TRUE, gridExpand = TRUE);
-  }
-  setColWidths(wb, sheet, cols = 1:50, widths = "auto", ignoreMergedCells = TRUE)
-
-
-  ################################################
-  # Print out cash flows
-  ################################################
-
-  # Age, death and survival probabilities
-  costCF = as.data.frame(contract$tarif$costValuesAsMatrix(setInsuranceValuesLabels(contract$values$cashFlowsCosts)));
-  ccol = 1;
-  crow = 4;
-  sheet = "Cash-Flows";
-  ccol = ccol + writeAgeQTable(wb, sheet, probs=qp, crow=crow, ccol=1, styles=styles);
-  ccol = ccol + writeValuesTable(wb, sheet, setInsuranceValuesLabels(contract$values$cashFlows),
-                                 crow=crow, ccol=ccol, tableName="CashFlows_Benefits", styles=styles,
-                                 caption="Leistungscashflows", withFilter=TRUE, valueStyle=styles$hide0) + 1;
-  ccol = ccol + writeValuesTable(wb, sheet, costCF,
-                                 crow=crow, ccol=ccol, tableName="CashFlows_Costs", styles=styles,
-                                 caption="Kostencashflows", withFilter=TRUE, valueStyle=styles$cost0) + 1;
-  setColWidths(wb, sheet, cols = 1:50, widths = "auto", ignoreMergedCells = TRUE)
-
-
-
-  openxlsx::saveWorkbook(wb, filename, overwrite = TRUE)
-
-
-  # #### Contract
-  # premiumPayments = PaymentTimeEnum("in advance"),
-  # benefitPayments = PaymentTimeEnum("in advance"),
-  # premiumFrequency = 1,
-  # benefitFrequency = 1, # Only for annuities!
-  # loadings = list(),    # Allow overriding the tariff-defined loadings (see the InsuranceTariff class for all possible names)
-  # premiumSum = 0,
-  #
-  #
-  # #### TARIF:
-  # tariffType = TariffTypeEnum("wholelife"), # possible values: annuity, wholelife, endowment, pureendowment, terme-fix
-  # premiumFrequencyOrder = 0,
-  # benefitFrequencyOrder = 0,
-  # widowFactor = 0,
-  # premiumRefund = 0,
-  # premiumRefundLoading = 0,  # Mindesttodesfallrisiko soll damit erreicht werden, z.B. 105% der einbezahlten Prämien
-  # costs = list(),
-  # benefitFrequencyLoading = list("1" = 0.0, "2" = 0.0, "4" = 0.0, "12" = 0.0), # TODO: Properly implement this
-  # premiumFrequencyLoading = list("1" = 0.0, "2" = 0.0, "4" = 0.0, "12" = 0.0), # TODO: Implement this
-  # loadings = list(    # Loadings can also be function(sumInsured, premiums)    # TODO: Add other possible arguments
-  #   "ongoingAlphaGrossPremium" = 0,    # Acquisition cost that increase the gross premium
-  #   "tax" = 0.04,                      # insurance tax, factor on each premium paid
-  #   "unitcosts" = 0,                   # annual unit cost for each policy (Stückkosten), absolute value
-  #   "security" = 0,                    # Additional security loading on all benefit payments, factor on all benefits
-  #   "noMedicalExam" = 0,               # Loading when no medicial exam is done, % of SumInsured
-  #   "noMedicalExamRelative" = 0,       # Loading when no medicial exam is done, % of gross premium
-  #   "sumRebate" = 0,                   # gross premium reduction for large premiums, % of SumInsured
-  #   "premiumRebate" = 0,               # gross premium reduction for large premiums, % of gross premium # TODO
-  #   "advanceProfitParticipation" = 0,                # Vorweggewinnbeteiligung (%-Satz der Bruttoprämie)
-  #   "advanceProfitParticipationInclUnitCost" = 0,    # Vorweggewinnbeteiligung (%-Satz der Prämie mit Zu-/Abschlägen, insbesondere nach Stückkosten)
-  #   "partnerRebate" = 0                # Partnerrabatt auf Prämie mit Zu-/Abschlägen, wenn mehr als 1 Vertrag gleichzeitig abgeschlossen wird, additiv mit advanceBonusInclUnitCost and premiumRebate
-  # ),
-
-}
diff --git a/R/plotValuationTables.R b/R/plotValuationTables.R
new file mode 100644
index 0000000..e319174
--- /dev/null
+++ b/R/plotValuationTables.R
@@ -0,0 +1,73 @@
+makeQxDataFrame = function(..., YOB=1972, Period=NA) {
+  data=list(...);
+  names(data) = lapply(data, function(t) t@name);
+  if (missing(Period)) {
+    cat("Year of birth: ", YOB, "\n");
+    data = lapply(data, function(t) cbind(x=ages(t), y=deathProbabilities(t, YOB=YOB)))
+  } else {
+    cat("Period: ", Period,"\n");
+    data = lapply(data, function(t) cbind(x=ages(t), y=periodDeathProbabilities(t, Period=Period)))
+  }
+
+  list.names = names(data)
+  lns <- sapply(data, nrow)
+  data <- as.data.frame(do.call("rbind", data))
+  data$group <- rep(list.names, lns)
+  data
+}
+
+#' Plot multiple valuation tables (life tables) in one plot
+#'
+#' \code{plotValuationTables} prints multiple life tables (objects of child classes of \code{valuationTable}) in one log-linear plot, with a legend showing the names of the tables.
+#'
+#' @param data First life table to be plotted. Either a \code{data.frame} generated by \code{makeQxDataFrame} or a \code{valuationTable} object
+#' @param ... Additional life tables to be plotted (if \code{data} is a \code{valuationTable} object)
+#' @param title The plot title
+#' @param legend.position The position of the legend (default is \code{c(0.9,0.1)})
+#' @param legend.key.width The keywith of the lines in the  legend (default is \code{unit(25,"mm")})
+#'
+#' @export
+plotValuationTables = function(data, ..., title = "", legend.position=c(0.9,0.1), legend.key.width = unit(25, "mm")) {
+  if (!is.data.frame(data)) {
+    data = makeQxDataFrame(data, ...);
+  }
+
+  pl = ggplot(data, aes(x = x, y = y, colour = data$group)) +
+    theme_bw() +
+    theme(
+      plot.title = element_text(size=18, face="bold"),
+      legend.title = element_text(size=14, face="bold.italic"),
+      # legend in bottom right corner of the plot
+      legend.justification=c(1,0), legend.position=legend.position,
+      # No box around legend entries
+      legend.key = element_blank(),
+      legend.key.width = legend.key.width,
+      legend.background = element_rect(colour="gray50", linetype="solid")
+    ) +
+    geom_line() +
+    scale_y_log10(
+      name=expression(paste("Sterbewahrscheinlichkeit  ", q[x])),
+      breaks = scales::trans_breaks('log10', function(x) 10^x),
+      labels = scales::trans_format('log10', scales::math_format(10^.x))
+      #minor_breaks = log(c(sapply(x, function(x) seq(0, x, x/10))), 10)
+    ) +
+    scale_x_continuous(
+      name="Alter",
+      #breaks = function (limits) scales::trans_breaks('', function(x) 10^x),
+      breaks = function (limits) seq(max(min(limits),0),max(limits),5),
+      minor_breaks = function (limits) seq(max(round(min(limits)),0),round(max(limits)),1),
+      #labels = scales::trans_format('log10', scales::math_format(10^.x))
+
+    ) +
+    annotation_logticks(sides="lr") +
+    xlab("Alter") + labs(colour="Sterbetafel");
+  if (title != "") {
+    pl = pl + ggtitle(title);
+  }
+  pl
+}
+#
+# plotValuationTables(mort.AT.census.1869.male, mort.AT.census.1869.female, mort.AT.census.2011.male, mort.AT.census.2011.female, AVOe2005R.male, AVOe2005R.female, YOB=1972,title="Vergleich österreichische Sterbetafeln, YOB=1972 (bei Generationentafeln)")
+#
+# plotValuationTables(mort.AT.census.2001.male, AVOe2005R.male, YOB=1972, title="Vergleich österreichische Sterbetafeln")
+#  plotValuationTables(getCohortTable(AVOe2005R.male, YOB=1972), getCohortTable(AVOe2005R.male, YOB=2016), title="Vergleich österreichische Sterbetafeln")
diff --git a/ValuationTables.Rproj b/ValuationTables.Rproj
index d603dfc..d4713ef 100644
--- a/ValuationTables.Rproj
+++ b/ValuationTables.Rproj
@@ -16,4 +16,6 @@ AutoAppendNewline: Yes
 StripTrailingWhitespace: Yes
 
 BuildType: Package
+PackageUseDevtools: Yes
 PackageInstallArgs: --no-multiarch
+PackageRoxygenize: rd,collate,namespace
diff --git a/man/ValuationTables-package.Rd b/man/ValuationTables-package.Rd
index d41e96b..be62d48 100644
--- a/man/ValuationTables-package.Rd
+++ b/man/ValuationTables-package.Rd
@@ -1,40 +1,11 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/ValuationTables.R
+\docType{package}
 \name{ValuationTables-package}
-\alias{ValuationTables-package}
 \alias{ValuationTables}
-\docType{package}
-\title{
-What the package does (short line)
-~~ package title ~~
-}
+\alias{ValuationTables-package}
+\title{Provide life table classes for life insurance purposes}
 \description{
-More about what it does (maybe more than one line)
-~~ A concise (1-5 lines) description of the package ~~
-}
-\details{
-\tabular{ll}{
-Package: \tab ValuationTables\cr
-Type: \tab Package\cr
-Version: \tab 1.0\cr
-Date: \tab 2013-05-03\cr
-License: \tab What license is it under?\cr
+Provide life table classes for life insurance purposes
 }
-~~ An overview of how to use the package, including the most important functions ~~
-}
-\author{
-Who wrote it
 
-Maintainer: Who to complain to <yourfault@somewhere.net>
-~~ The author and/or maintainer of the package ~~
-}
-\references{
-~~ Literature or other references for background information ~~
-}
-~~ Optionally other standard keywords, one per line, from file KEYWORDS in the R documentation directory ~~
-\keyword{ package }
-\seealso{
-~~ Optional links to other man pages, e.g. ~~
-~~ \code{\link[<pkg>:<pkg>-package]{<pkg>}} ~~
-}
-\examples{
-~~ simple examples of the most important functions ~~
-}
diff --git a/man/plotValuationTables.Rd b/man/plotValuationTables.Rd
new file mode 100644
index 0000000..2d855be
--- /dev/null
+++ b/man/plotValuationTables.Rd
@@ -0,0 +1,24 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/plotValuationTables.R
+\name{plotValuationTables}
+\alias{plotValuationTables}
+\title{Plot multiple valuation tables (life tables) in one plot}
+\usage{
+plotValuationTables(data, ..., title = "", legend.position = c(0.9, 0.1),
+  legend.key.width = unit(25, "mm"))
+}
+\arguments{
+\item{data}{First life table to be plotted. Either a \code{data.frame} generated by \code{makeQxDataFrame} or a \code{valuationTable} object}
+
+\item{...}{Additional life tables to be plotted (if \code{data} is a \code{valuationTable} object)}
+
+\item{title}{The plot title}
+
+\item{legend.position}{The position of the legend (default is \code{c(0.9,0.1)})}
+
+\item{legend.key.width}{The keywith of the lines in the  legend (default is \code{unit(25,"mm")})}
+}
+\description{
+\code{plotValuationTables} prints multiple life tables (objects of child classes of \code{valuationTable}) in one log-linear plot, with a legend showing the names of the tables.
+}
+
diff --git a/man/valuationTable-class.Rd b/man/valuationTable-class.Rd
new file mode 100644
index 0000000..49e5016
--- /dev/null
+++ b/man/valuationTable-class.Rd
@@ -0,0 +1,106 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/ValuationTables.R
+\docType{class}
+\name{valuationTable-class}
+\alias{baseTable,valuationTable-method}
+\alias{baseYear,valuationTable-method}
+\alias{getCohortTable,valuationTable-method}
+\alias{getPeriodTable,valuationTable-method}
+\alias{lifeTable,valuationTable-method}
+\alias{valuationTable}
+\alias{valuationTable-class}
+\title{Class valuationTable}
+\usage{
+getOmega(object)
+
+ages(object, ...)
+
+deathProbabilities(object, ..., YOB = 1975)
+
+periodDeathProbabilities(object, ...)
+
+lifeTable(object, ...)
+
+\S4method{lifeTable}{valuationTable}(object, ...)
+
+baseYear(object, ...)
+
+\S4method{baseYear}{valuationTable}(object, ...)
+
+baseTable(object, ...)
+
+\S4method{baseTable}{valuationTable}(object, ...)
+
+getPeriodTable(object, Period, ...)
+
+\S4method{getPeriodTable}{valuationTable}(object, Period, ...)
+
+getCohortTable(object, YOB, ...)
+
+\S4method{getCohortTable}{valuationTable}(object, YOB, ...)
+}
+\arguments{
+\item{...}{Parameters to be handed to the \code{deathProbabilities} method of the life table}
+
+\item{YOB}{The birth year for which the death probabilities should be calculated}
+
+\item{Period}{The observation year for which the period death probabilities should be determined}
+
+\item{...}{Parameters to be handed to the \code{deathProbabilities} method of the life table}
+
+\item{Period}{The observation year, for which the death probabilities should be determined}
+
+\item{Period}{The observation year, for which the death probabilities should be determined}
+
+\item{YOB}{The birth year for which the life table should be calculated}
+
+\item{YOB}{The birth year for which the life table should be calculated}
+}
+\description{
+Class \code{valuationTable} is the (virtual) base class for all valuation
+tables. It contains the name and some general values applying to all
+types of tables, but does not contain any data itself. Use a child class
+to create actual valuation tables.
+
+Return the maximum age of the life table
+
+Return the defined ages of the life table
+
+Return the (cohort) death probabilities of the life table given the birth year (if needed)
+
+Return the (period) death probabilities of the life table for a given observation year
+
+Return the lifetable object (package lifecontingencies) for the cohort life table
+
+Return the lifetable object (package lifecontingencies) for the cohort life table
+
+Return the base year of the life table
+
+Return the base year of the life table
+
+Return the base table of the life table
+
+Return the base table of the life table
+
+Return the period life table as a \code{valuationTable_period} object
+
+Return the period life table as a \code{valuationTable_period} object
+
+Return the cohort life table as a \code{valuationTable_period} object
+
+Return the cohort life table as a \code{valuationTable_period} object
+}
+\section{Slots}{
+
+\describe{
+\item{\code{name}}{The human-readable name of the valuation table}
+
+\item{\code{baseYear}}{The base year of the valuation table (e.g. for tables with trend projection)}
+
+\item{\code{modification}}{A function that will be called with the final death probabilities
+to give the user a way to modify the final probabilities}
+
+\item{\code{loading}}{Additional security loading on the resulting table (single numeric
+value, e.g. 0.05 adds 5% security margin to the probabilities)}
+}}
+
diff --git a/man/valuationTable_ageShift-class.Rd b/man/valuationTable_ageShift-class.Rd
new file mode 100644
index 0000000..6e7857a
--- /dev/null
+++ b/man/valuationTable_ageShift-class.Rd
@@ -0,0 +1,47 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/ValuationTables.R
+\docType{class}
+\name{valuationTable_ageShift-class}
+\alias{ageShift,valuationTable_ageShift-method}
+\alias{deathProbabilities,valuationTable_ageShift-method}
+\alias{periodDeathProbabilities,valuationTable_ageShift-method}
+\alias{valuationTable_ageShift}
+\alias{valuationTable_ageShift-class}
+\title{A cohort life table, obtained by age-shifting from a given base table (death probabilities}
+\usage{
+ageShift(object, YOB = 1975, ...)
+
+\S4method{ageShift}{valuationTable_ageShift}(object, YOB = 1975, ...)
+
+\S4method{deathProbabilities}{valuationTable_ageShift}(object, ...,
+  YOB = 1975)
+
+\S4method{periodDeathProbabilities}{valuationTable_ageShift}(object, ...,
+  Period = 1975)
+}
+\arguments{
+\item{YOB}{The birth year for which the age shift should be determined.}
+
+\item{Period}{The observation year for which the period death probabilities should be determined}
+
+\item{YOB}{The birth year for which the age shift should be determined.}
+
+\item{YOB}{The birth year for which the death probabilities should be calculated}
+}
+\description{
+A cohort life table, obtained by age-shifting from a given base table (death probabilities
+
+Return the age shift of the age-shifted life table given the birth year
+
+Return the age shift of the age-shifted life table given the birth year
+
+Return the (cohort) death probabilities of the life table given the birth year (if needed)
+
+Return the (period) death probabilities of the life table for a given observation year
+}
+\section{Slots}{
+
+\describe{
+\item{\code{ageShifts}}{A \code{data.frame} with columns \code{YOB} and \code{shifts} giving the age shifts for each birth year}
+}}
+
diff --git a/man/valuationTable_improvementFactors-class.Rd b/man/valuationTable_improvementFactors-class.Rd
new file mode 100644
index 0000000..6dd7d59
--- /dev/null
+++ b/man/valuationTable_improvementFactors-class.Rd
@@ -0,0 +1,38 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/ValuationTables.R
+\docType{class}
+\name{valuationTable_improvementFactors-class}
+\alias{deathProbabilities,valuationTable_improvementFactors-method}
+\alias{periodDeathProbabilities,valuationTable_improvementFactors-method}
+\alias{valuationTable_improvementFactors}
+\alias{valuationTable_improvementFactors-class}
+\title{A cohort life table, obtained by an improvment factor projection
+from a given base table (PODs for a given observation year).}
+\usage{
+\S4method{deathProbabilities}{valuationTable_improvementFactors}(object, ...,
+  YOB = 1975)
+
+\S4method{periodDeathProbabilities}{valuationTable_improvementFactors}(object,
+  ..., Period = 1975)
+}
+\arguments{
+\item{YOB}{The birth year for which the death probabilities should be calculated}
+
+\item{Period}{The observation year for which the period death probabilities should be determined}
+}
+\description{
+A cohort life table, obtained by an improvment factor projection
+from a given base table (PODs for a given observation year).
+
+Return the (cohort) death probabilities of the life table given the birth year (if needed)
+
+Return the (period) death probabilities of the life table for a given observation year
+}
+\section{Slots}{
+
+\describe{
+\item{\code{baseYear}}{The base year for the improvements (\code{baseTable} describes the death probabilities in this year)}
+
+\item{\code{improvement}}{Yearly improvement factors per age}
+}}
+
diff --git a/man/valuationTable_joined-class.Rd b/man/valuationTable_joined-class.Rd
new file mode 100644
index 0000000..ccfc977
--- /dev/null
+++ b/man/valuationTable_joined-class.Rd
@@ -0,0 +1,37 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/ValuationTables.R
+\docType{class}
+\name{valuationTable_joined-class}
+\alias{ages,valuationTable_joined-method}
+\alias{getOmega,valuationTable_joined-method}
+\alias{valuationTable_joined}
+\alias{valuationTable_joined-class}
+\title{A cohort life table obtained by joining two cohort life tables, each of which
+applies only to certain observation years (e.g. for the past use the observed
+PODs, and project them to the future with the trend projection)}
+\usage{
+\S4method{getOmega}{valuationTable_joined}(object)
+
+\S4method{ages}{valuationTable_joined}(object, ...)
+}
+\description{
+A cohort life table obtained by joining two cohort life tables, each of which
+applies only to certain observation years (e.g. for the past use the observed
+PODs, and project them to the future with the trend projection)
+
+Return the maximum age of the joined life table
+
+Return the defined ages of the life table
+}
+\section{Slots}{
+
+\describe{
+\item{\code{table1}}{The first \code{valuationTable}, valid for years given in \code{yearRange1}}
+
+\item{\code{yearRange1}}{The years, for which \code{table1} describes the death probabilities}
+
+\item{\code{table2}}{The second \code{valuationTable}, valid for years given in \code{yearRange2}}
+
+\item{\code{yearRange2}}{The years, for which \code{table2} describes the death probabilities}
+}}
+
diff --git a/man/valuationTable_mixed-class.Rd b/man/valuationTable_mixed-class.Rd
new file mode 100644
index 0000000..208f3bb
--- /dev/null
+++ b/man/valuationTable_mixed-class.Rd
@@ -0,0 +1,56 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/ValuationTables.R
+\docType{class}
+\name{valuationTable_mixed-class}
+\alias{ages,valuationTable_mixed-method}
+\alias{baseYear,valuationTable_mixed-method}
+\alias{deathProbabilities,valuationTable_mixed-method}
+\alias{getOmega,valuationTable_mixed-method}
+\alias{periodDeathProbabilities,valuationTable_mixed-method}
+\alias{valuationTable_mixed}
+\alias{valuationTable_mixed-class}
+\title{A cohort life table obtained by mixing two life tables with the given weights}
+\usage{
+\S4method{getOmega}{valuationTable_mixed}(object)
+
+\S4method{ages}{valuationTable_mixed}(object, ...)
+
+\S4method{deathProbabilities}{valuationTable_mixed}(object, ..., YOB = 1975)
+
+\S4method{periodDeathProbabilities}{valuationTable_mixed}(object, ...,
+  Period = 1975)
+
+\S4method{baseYear}{valuationTable_mixed}(object, ...)
+}
+\arguments{
+\item{YOB}{The birth year for which the death probabilities should be calculated}
+
+\item{Period}{The observation year for which the period death probabilities should be determined}
+}
+\description{
+A cohort life table obtained by mixing two life tables with the given weights
+
+Return the maximum age of the mixed life table
+
+Return the defined ages of the life table
+
+Return the (cohort) death probabilities of the life table given the birth year (if needed)
+
+Return the (period) death probabilities of the life table for a given observation year
+
+Return the base year of the life table
+}
+\section{Slots}{
+
+\describe{
+\item{\code{table1}}{The first \code{valuationTable}}
+
+\item{\code{table2}}{The second \code{valuationTable}}
+
+\item{\code{weight1}}{The weight of the first valuation table}
+
+\item{\code{weight2}}{The weight of the second valuation table}
+
+\item{\code{loading}}{Additional security loading}
+}}
+
diff --git a/man/valuationTable_observed-class.Rd b/man/valuationTable_observed-class.Rd
new file mode 100644
index 0000000..14b5261
--- /dev/null
+++ b/man/valuationTable_observed-class.Rd
@@ -0,0 +1,18 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/ValuationTables.R
+\docType{class}
+\name{valuationTable_observed-class}
+\alias{valuationTable_observed}
+\alias{valuationTable_observed-class}
+\title{A cohort life table described by actual observations (data frame of PODs
+per year and age)}
+\description{
+A cohort life table described by actual observations (data frame of PODs
+per year and age)
+}
+\section{Slots}{
+
+\describe{
+\item{\code{data}}{The observations}
+}}
+
diff --git a/man/valuationTable_period-class.Rd b/man/valuationTable_period-class.Rd
new file mode 100644
index 0000000..401788b
--- /dev/null
+++ b/man/valuationTable_period-class.Rd
@@ -0,0 +1,51 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/ValuationTables.R
+\docType{class}
+\name{valuationTable_period-class}
+\alias{ages,valuationTable_period-method}
+\alias{baseTable,valuationTable_period-method}
+\alias{deathProbabilities,valuationTable_period-method}
+\alias{getOmega,valuationTable_period-method}
+\alias{periodDeathProbabilities,valuationTable_period-method}
+\alias{valuationTable_period}
+\alias{valuationTable_period-class}
+\title{A period life table, giving death probabilities for each age, up to
+maximum age omega. Optionally apply selection factors to the probabilities}
+\usage{
+\S4method{getOmega}{valuationTable_period}(object)
+
+\S4method{ages}{valuationTable_period}(object, ...)
+
+\S4method{deathProbabilities}{valuationTable_period}(object, ..., YOB = 1975)
+
+\S4method{periodDeathProbabilities}{valuationTable_period}(object, ...)
+
+\S4method{baseTable}{valuationTable_period}(object, ...)
+}
+\arguments{
+\item{YOB}{The birth year for which the death probabilities should be calculated}
+
+\item{Period}{The observation year for which the period death probabilities should be determined}
+}
+\description{
+A period life table, giving death probabilities for each age, up to
+maximum age omega. Optionally apply selection factors to the probabilities
+
+Return the maximum age of the period life table
+
+Return the defined ages of the life table
+
+Return the (cohort) death probabilities of the life table given the birth year (if needed)
+
+Return the (period) death probabilities of the life table for a given observation year
+
+Return the base table of the life table
+}
+\section{Slots}{
+
+\describe{
+\item{\code{ages}}{The ages corresponding to the entries of the deathProbs}
+
+\item{\code{deathProbs}}{The one-year death probabilities for the ages}
+}}
+
diff --git a/man/valuationTable_trendProjection-class.Rd b/man/valuationTable_trendProjection-class.Rd
new file mode 100644
index 0000000..48bf30d
--- /dev/null
+++ b/man/valuationTable_trendProjection-class.Rd
@@ -0,0 +1,57 @@
+% Generated by roxygen2: do not edit by hand
+% Please edit documentation in R/ValuationTables.R
+\docType{class}
+\name{valuationTable_trendProjection-class}
+\alias{deathProbabilities,valuationTable_trendProjection-method}
+\alias{periodDeathProbabilities,valuationTable_trendProjection-method}
+\alias{undampenTrend,valuationTable_trendProjection-method}
+\alias{valuationTable_trendProjection}
+\alias{valuationTable_trendProjection-class}
+\title{A cohort life table, obtained by a trend projection from a given base table
+(PODs for a given observation year). Typically, the trend is obtained by
+the Lee-Carter method or some other trend estimation.
+The dampingFunction can be used to modify the cumulative years (e.g. G(tau+x) instead of tau+x)
+If trend2 is given, the G(tau+x) gives the weight of the first trend, 1-G(tau+x) the weight of the second trend}
+\usage{
+\S4method{deathProbabilities}{valuationTable_trendProjection}(object, ...,
+  YOB = 1975)
+
+\S4method{periodDeathProbabilities}{valuationTable_trendProjection}(object, ...,
+  Period = 1975)
+
+undampenTrend(object)
+
+\S4method{undampenTrend}{valuationTable_trendProjection}(object)
+}
+\arguments{
+\item{YOB}{The birth year for which the death probabilities should be calculated}
+
+\item{Period}{The observation year for which the period death probabilities should be determined}
+}
+\description{
+A cohort life table, obtained by a trend projection from a given base table
+(PODs for a given observation year). Typically, the trend is obtained by
+the Lee-Carter method or some other trend estimation.
+The dampingFunction can be used to modify the cumulative years (e.g. G(tau+x) instead of tau+x)
+If trend2 is given, the G(tau+x) gives the weight of the first trend, 1-G(tau+x) the weight of the second trend
+
+Return the (cohort) death probabilities of the life table given the birth year (if needed)
+
+Return the (period) death probabilities of the life table for a given observation year
+
+Return a \code{valuationTable_trensProjection} object with the trend damping removed.
+
+Return a \code{valuationTable_trensProjection} object with the trend damping removed.
+}
+\section{Slots}{
+
+\describe{
+\item{\code{baseYear}}{The base year of the trend projection (\code{baseTable} describes the death probabilities in this year)}
+
+\item{\code{trend}}{The yearly improvements of the log-death probabilities (per age)}
+
+\item{\code{dampingFunction}}{A possible damping of the trend. This is a function \code{damping(delta_years)} that gets a vector of years from the baseYear and should return the dampened values.}
+
+\item{\code{trend2}}{The alternate trend. If given, the damping function interpolates between \code{trend} and \code{trend2}, otherwise the dumping function simply modifies the coefficients of \code{trend}.}
+}}
+
-- 
GitLab