who does what?, refactoring specs....what does each class do?...pending specs