add while exp tr