A number of upper and lower bounds are obtained for 

 , the minimal number of codewords in any binary code of length 

 and covering radius 

 . Several new constructions are used to derive the upper bounds, including an amalgamated direct sum construction for nonlinear codes. This construction works best when applied to normal codes, and we give some new and stronger conditions which imply that a linear code is normal. An upper bound is given for the density of a covering code over any alphabet, and it is shown that 

 holds for sufficiently large 

 .