fixed exception safety bug in interactive()