issue #5: add fade-in & fade-out