added keyword extraction