added HTML5 history support