ie8 support added
Lots of refinements