phases 1-3, without rspec