Added more test cases, refactored tests using one class per test.. shouldnt be this way but since JUnit doesnt support ordering tests that would be the best shoot