rails source 2
part 3
typo
part 4 and 5