deal with edge cases