One other thing -- I really dislike defining top-level methods directly on `main` like this.  (I occasionally do it in one off scripts that aren't a part of a larger project that will be maintained over a long period of time, though).  This adds these methods to _every_ object in the system, which is unnecessary and generally a bad idea.  Instead, please define them in a module and `config.include` or `config.extend` the module to make it available as needed.