edge case fixes