Adding first test
Added some refactoring for loose coupling
Refactored into a separate project
Validation working...added test
Added main businness logic and tests to cover a few scenarios