filling in various edge cases