refactoring tran model