finished t9 implementation