Got rid of useless smart pointer where I could, added optionnal fading and more options for cropping