http://coreruby.github.io/lecture-03