2 test has been added.
Some Refactoring.