for efficiency (thanks Arsene for the suggestion)
return of error messages is not yet implemented, meaning returned exit values will all be null for now