implement a fade transition