You probably want to be looking at 'local volatility' models, where the volatiloity is a function of strike and/or time. Do a search on that here. Also the papers of Dupire, Derman and coauthors, a paper of Rubinstein. Derman et al's papers are quite nice to implement; mostly published in Risk mag in the old days, but the original Goldman Sachs versions are all at his website
www.ederman.com There is also some stuff on this in Espen Haug's book, certainly not the most general models, but nice enough to get you started.