implemented fading (again)