add type validate