examples learned from ruby.learncodethehardway.org