added exec, can work if without failure