Added all the test required - Pending refactor