refactoring of interfaces in TMX
refactoring of interfaces in TMX