Added more destructive test cases
Refactor
Refactor
General improvement, added more test suites, refactor