Lots of changes + IE fixes