added fade-in and fade-out