better validation strategy