my work following railstutorial ch3+ from http://ruby.railstutorial.org/