fix some edge cases