start of tf generation