added broser checking (not tested on IE or iOS yet)