add fade functions and demo