Super-approximation and its applications