add failure state to disconnect
clean up if cond