remove exit() call