Made this less harder to understand