spec accounts for request order
some refactoring
some refactoring