Clean code to improve readability, allow to use different TPE in the same application, add parameters like mail.