Added the T4 model and refactored