Barrington's theorem