edge case checking