Basic form, and compatibility with Ruby 1.8