doesn't OFDM inherently deals with ISI? why cyclic prefix is needed?
OFDM (sub)carriers are only exactly orthogonal over a certain IFFT block length (and integer multiples).  Multipath echos will mix a subcarrier signal from the end of one symbol block into the beginning of the next, rendering the symbol in that carrier to be ambiguous over the initial one IFFT block length.  A Cyclic Prefix extends the length of each symbol beyond just that of one IFFT length so that the IFFT can be (hopefully) done over a portion of the signal past where all the orthogonal subcarriers have been messed up with multipath echoes.  Skipping past the messed up portion allows the (constant or otherwise) channel response to be mostly ignored by the receiver, while maintaining the orthogonality of all the subcarriers from each other.