rational fix by jd