this is just a TDD exercise in Ruby