Iteration 2 + refactor some of tests