fix weird edge cases