check the when guard at the begging
add when guard test in the translation of dis