completed RailsCast #136 (revised)