add more validation