Nice, seems to cover all the corner cases.