added exit codes