Theory of Block Designs