phase 1 complete, except rspec
phase 2 mostly done, except rspec