We show that any bounded operator $T$ on a separable, reflexive, infinite-dimensional Banach space $X$ admits a rank one perturbation which has an invariant subspace of infinite dimension and codimension. In the non-reflexive spaces, we show that the same is true for operators which have non-eigenvalues in the boundary of their spectrum. In the Hilbert space, our methods produce perturbations that are also small in norm, improving on an old result of Brown and Pearcy.