add length validations