added more tests to improve coverage of more edge cases