I can't leave it alone. Improving the fade in/out code
Lots of changes