TGV refactoring