enumerating and generalizing