adds rspec
refactors to use explicit levels