added state persistence via HTML5 LS