added should testing to project
Refined code; Refactored Tests.