Re-engineered for IE8