committing my homework after lesson 03

@slead perhaps an exit after the report_error call is required