fix: is_valid