In this talk, I will discuss novel ideas to smooth and flatten the universe and generate nearly scale-invariant perturbations during a contracting phase that precedes a cosmological bounce. I will also present some recent work on the possibility of having well-behaved non-singular bounces.