complete edge cases