* Matches Golang convention
* Functions in pkg should return errors * If aborting is desired, that behavior should be left to the consumer