handled a couple edge cases