added local storage js requirement