finished other than refactoring we thing/TIAF