handle a few more edge cases