edge cases included