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

.