implement week 3 day 3, may break a test in callbacks_spec.rb. it's fine.