better id validation