I hate this way to return exit_code, it screw up many stuff...