Basic grammar in use : with answers - Murphy, Raymond (Cambridge University Press, 2006)
Includes index.