after a *lot* of work make IE compatible