Yea move 20 was the move u should have thought about.
yes Nf6+ would of been beatufil forcing him to play Kf8 (otherwise after Ke7 Nd5+) then Rd8+ is the second best move but Nxg8 is beautiful due to if he plays Kx then mate and if Rx then check wins rook!