handing edge cases