The Good grammar book with answer - Swan, Michael (Oxford University Press, 2003)