validate versions better