fix edge cases