working through Ruby the Hard way