generalised the +0.5 case