add edge cases