In this talk I will discuss recent ideas originally due to M. Demirplak and S. A. Rice (2003) and M. Berry (2009) of how one can design protocols allowing the system to follow adiabatically a desired state without usual slow speed limitations. I will discuss a general approach for finding such protocols in both simple and complex many-particle systems. In particular, I will show that Floquet engineering can be used as a very efficient tool for designing counter-diabatic driving. I will discuss several examples, which are relevant to cold atom systems. In the end of the talk I will discuss connections of counter-diabatic (and closely related fast-forward) protocols to quantum speed limits and quantum information geometry.