we should add these checks to the setter also.