An overview of f(R) theories