better validate