made it a bit tighter 

I reckon that 'changed' should return something it seems wasteful to do the same check in two places.