refactoring - inlining usage_and_exit method