fixing edge cases