validation improved