2.Bc4 is one of the worst responses to the Caro-Kann. f3 isn't doing him any favours either. 16...Qe8 isn't threatening Qe1#, because he can play Qf1. Admittedly you are much much better with Bxf1, but it's not mate. My jerky criticism aside, good game, and nice Knight fork combined with an absolute pin on the pawn at g2!
Good game!
I am impresed by playing as black with Car Kann. Look this party on Playchess.com