refactoring + restart fix. app survives control failure