rewrite animation with widget selection