trying to handle degenerate cases