better formatting
error exit codes
better error