created default main function to handle success/failure logic.
help is handled by the library.
help print method can be custom.
global validation occurs at the end if no previous errors.