works well in ie7+